书籍推荐:
软件设计师考试辅导教程--------电子工业出版社,15年3月第一版
软件设计师同步辅导(上午)----何光明,清华大学出版社
软件设计师同步辅导(下午)----张宏 ,清华大学出版社
存储结构:
顺序存储、链式存储
数据结构:
1.线性表:双向链表、循坏链表、静态链表
栈
队列
串:空串、空格串、子串、主串
2.树和二叉树:空树、二叉排序树、平衡二叉树、线索树?、最优二叉树(哈夫曼树)
树的遍历(前序遍历、后序遍历、层次遍历)
二叉树:完全二叉树、满二叉树
二叉树的遍历(前序遍历、中序遍历、后序遍历)
3.图:有向图、无向图、完全图(有向完全图、无向完全图)、带权图、连通图、强连通图、生成树(最小生成树)
存储:邻接矩阵、邻接表、十字链表、邻接多重表
遍历:深度优先搜索、广度优先搜索
排序:拓扑排序(AVO网,不唯一)
4.排序
内部排序、外部排序
方法:
(1)插入排序:
直接插入排序, O(n^2),O(1),稳定
希尔排序,不稳定
(2)选择排序:顺序存储结构
直接选择排序,O(n^2),O(1),稳定
堆排序(小顶堆、大顶堆),,O(1),最坏性能
(3)交换排序:
冒泡排序,O(n^2),O(1),稳定 (49,38,65,97,76,13,27,49)
快速排序(顺序存储),最好O(n^2),最坏,不稳定
(4)归并排序:,O(n),稳定
5.查找
(1)静态查找
顺序查找:线性查找。(n+1)/2,O(n)
折半查找:二分查找、对分查找。前提:有序的,不易变动。
分块查找:索引顺序查找。
(2)动态查找
哈希表:O(1).冲突
算法:
1.KMP算法: