软考笔记第六天之数据结构与算法基础(二)

完全图:

在无向图中,若每对顶点之间都有一条边相连,则称该图为完全图(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)

二分查找法:

散列表

排序(重中之重,下午编程会考)

排序的概念

稳定与不稳定排序,内排序与外排序(内存与外部存储空间)

排序方法的分类

插入类排序(直接插入排序,希尔排序)

交换类排序(冒泡排序,快速排序)

选择类排序(直接选择排序,堆排序)

归并排序

基数排序

直接插入排序:

希尔排序

直接选择排序:

堆排序:

冒泡排序:

快速排序:

归并排序:

基数排序:

排序性能比较:

原文地址:https://www.cnblogs.com/pushudepu/p/5958279.html