图
完全图:
在无向图中,若每对顶点之间都有一条边相连,则称该图为完全图(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)
二分查找法:
散列表
排序(重中之重,下午编程会考)
排序的概念
稳定与不稳定排序,内排序与外排序(内存与外部存储空间)
排序方法的分类
插入类排序(直接插入排序,希尔排序)
交换类排序(冒泡排序,快速排序)
选择类排序(直接选择排序,堆排序)
归并排序
基数排序
直接插入排序:
希尔排序
直接选择排序:
堆排序:
冒泡排序:
快速排序:
归并排序:
基数排序:
排序性能比较: