软考笔记第六天之数据结构与算法基础(二)
图
完全图:
在无向图中,若每对顶点之间都有一条边相连,则称该图为完全图(complete graph)。
在有向图中,若每对顶点之间都有两条有向边相互连接,则称该图为完全图。

邻接矩阵:两个结点之间有连线则为1,没有则为0.有n个结点,就需要一张n*n的矩阵(可以用上三角或下三角保存数据)。

邻接表:

图的遍历:


拓扑序列:

图的最小生成树-克鲁斯卡尔算法
1.通过结点数求出需要画几条线(n个结点需要画n-1条线)
2.在结点之间选线,从权(数值)小的开始选,一旦出现环路,放弃该线

算法基础
算法的特性:
有穷性:执行有穷步之后结束
确定性:算法中每一条指令都必须有确切的指令,不能含糊不清
输入(>=0)
输出(>=1)
有效性:算法的每个步骤都能有效执行并能得到确定的结果。例如a=0,b/a就无效。
算法的复杂度(时间复杂度[常考上下午],空间复杂度)

查找
顺序查找:
思想:将待查找的关键字为key的元素从头到尾与表中元素进行比较,如果中间存在关键字为key的元素,则返回成功;否则,返回失败。
查找成功时,顺序查找的平均查找长度为(等概率情况下):
ASL=(n+1)/2
时间复杂度:O(n)
二分查找法:



散列表

排序(重中之重,下午编程会考)
排序的概念
稳定与不稳定排序,内排序与外排序(内存与外部存储空间)
排序方法的分类
插入类排序(直接插入排序,希尔排序)
交换类排序(冒泡排序,快速排序)
选择类排序(直接选择排序,堆排序)
归并排序
基数排序
直接插入排序:

希尔排序

直接选择排序:

堆排序:




冒泡排序:

快速排序:

归并排序:

基数排序:

排序性能比较:


浙公网安备 33010602011771号