![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
考研专用知识点巩固
夜空中坠亮的派大星
这个作者很懒,什么都没留下…
展开
-
广度优先算法
伪代码//广度优先算法,类似于二叉树的层次遍历/*利用队列实现搜索首先访问起始顶点v,接着由v出发,依次访问v的各个未访问的邻接结点w1,w2,,,然后依次访问w1,w2,wi这些所有没有被访问的结点再从这些访问过的顶点出发,访问它们所有未被访问的结点,直至图中所有的顶点都被访问为止。*/bool visited[MAX_VERTEX_NUM];//访问标记数组void BFSTraverse(Graph G) { //对图G进行广度优先遍历 for (int i = 0; i &原创 2021-10-28 11:05:57 · 122 阅读 · 0 评论 -
折半插入排序
#include <iostream>using namespace std;/*折半插入排序(Binary Insertion Sort)是一种插入排序算法,通过不断地将数据元素插入到合适的位置进行排序,在寻找插入点时,利用了折半查找基本思想:顺序地把待排序的序列中的各个元素按照其关键字的大小,通过这本查找插入到已经排序的序列的适当位置时间复杂度O(n^2),稳定的排序方法*/void binary_insertion_sort(int arr[], int len) {原创 2021-10-28 10:13:09 · 105 阅读 · 0 评论 -
选 择 排 序
首先在未排序找到最小(大)元素,存放到排序序列的起始位置,在从剩余未排序元素中继续寻找最小(大)元素,然后放到已经排序序列的末尾。重复第二步,直到所有元素均排序完毕。原创 2021-09-15 11:24:22 · 81 阅读 · 0 评论 -
冒泡排序简单理解及代码实现·
冒泡排序的中心思想:重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作时重复的进行直到没有在需要交换,也就是说该数列已经排序完成。算法步骤:1.比较相邻的元素,如果第一个比第二个大就交换他们两个2.对每一对相邻元素同样的工作,从最开始的第一队到结尾的最后一对。这步做完最后的元素会是最大的数3.针对所有的元素重复以上步骤除了最后一个。4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。什么时候最快当输入的数据已经是正序的时候什么原创 2021-09-15 11:06:40 · 117 阅读 · 0 评论 -
线性表的顺序表示
1.顺序表的定义线性表的顺序存储又称为顺序表。它是由一组地址连续的存储单元一次存储线性表中的数据元素,从而使得逻辑上相邻的两个元素在物理上相邻。顺序表的特点是表中的元素的逻辑顺序与其物理顺序相同每个数据元素的存储位置都和线性表的起始位置相差一个和该数据元素的位序成正比的常数。因此,线性表中的任一元素都可以随机存取线性表的顺序存储结构是一种随机存取的存储结构。线性表中的元素位序是从1开始的,而数组中元素的下标是从0开始的。假定线性表中的元素类型为ElemType,则线性表的顺序存储类型描述为:原创 2021-08-14 22:14:12 · 1299 阅读 · 0 评论 -
数据结构第一章
数据结构数据结构数据元素——描述一个个体数据结构的三要素逻辑结构数据的运算物理结构(存储结构)三级目录数据结构数据元素——描述一个个体数据元素:数据的基本单位,通常作为一个整体进行考虑和描述一个数据元素可由多个数据项组成,数据项是构成数据元素的不可分割的最小单位数据对象:具有相同性质数据元素的集合,是数据的一个子集。数据结构:是相互之间存在一种或者多种特定关系的数据元素的集合同样的数据元素,可组成不同的数据结构不同的数据元素可以组成相同的数据结构数据结构的三要素逻辑结构集合线性结构原创 2021-08-07 16:34:51 · 426 阅读 · 0 评论