![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 64
sikpz
这个作者很懒,什么都没留下…
展开
-
数据结构-树的种类
树的基本概念。原创 2024-01-14 16:14:04 · 377 阅读 · 0 评论 -
算法——冒泡排序
前言: 当我们采用前面的选择排序时,我们仍然要将候选者遍历 5 遍,才能完成最终的排序,但其 实,本身这些数据除了第一个外,已经很有序了,我们只需要把第一个和第二个交换,然后又和 第三个交换,如此循环,直到和最后一个交换后,整个数组基本就有序了! 当然,并不是每次都这么幸运,像下面的情况就会更复杂一些,一趟并不能完全解决问题, 我们需要多趟才能解决问题. 此时,我们只保障了最后一个数是最大的, 并不能保障前面的数一定会有序,所以,我们继续按 照上面五步对剩下的 5 个数继续进行一次排序,数组就变得有序了.原创 2021-08-08 10:41:55 · 67 阅读 · 0 评论 -
算法——选择排序
原理 又是一年的选妃开始,今年国王对身高比较敏感,要求这些候选者按照从低到高的顺序排列, 供其选择。。。 宫廷首席太监小桂子于是命令所有小公公把宫女的身高都量出来并上报到他处,然后命令身 为太监伴读小书童的你帮他按身高大小排好序,数据如下: 第一步 先找出所有候选美女中身高最高的,与最后一个数交换。 第二步 再找出除最后一位美女外其它美女中的最高者,与倒数第二个美女交换位置 第三步 再找出除最后两位美女外其它美女中的最高者,与倒数第三个美女交换位置,因为倒数 第三个本身已是最大的,所以实际无需交换. 重复以原创 2021-08-07 22:07:44 · 80 阅读 · 0 评论 -
数据结构——图
前言 在计算机科学中,一个图就是一些顶点的集合,这些顶点通过一系列边结对(连接)。顶点用圆圈表示,边就 是这些圆圈之间的连线。顶点之间通过边连接。注意:顶点有时也称为节点或者交点,边有时也称为链接。 社交网络,每一个人就是一个顶点,互相认识的人之间通过边联系在一起, 边表示彼此的关系。这种关系可以 是单向的,也可以是双向的! 图的表示 1.邻接列表:在邻接列表实现中,每一个顶点会存储一个从它这里开始的相邻边的列表。比如,如果顶点 B 有一条边到 A、 C 和 E,那么 A 的列表中会有 3 条边。 邻接列表原创 2021-08-07 15:26:14 · 184 阅读 · 0 评论 -
数据结构——二叉搜索树
二叉树前言什么是二叉树二叉树的特点二叉搜索树性质算法实现结构体定义插入结点结点删除前序遍历 前言 一个没有限制的树由于太灵活,控制起来比较复杂。如果对普通的树加上一些人 为的限制,比如 节点只允许有两个子节点,这就是我们接下来要介绍的二叉树。 什么是二叉树 二叉树是一个每个结点最多只能有两个分支的树,左边的分支称之为左子树,右边的分支称之为右子树。 二叉树的特点 在非空二叉树中,第 i-1 层的结点总数不超过 , i>=1; 深度为 h-1 的二叉树最多有 个结点(h>=1),最少有 h原创 2021-08-06 15:46:37 · 159 阅读 · 0 评论 -
数据结构——堆
堆(heap) 堆是计算机科学中一类特殊的数据结构的统称,堆通常可以看做是一颗完全二叉树的数组对象。 堆的分类: 根结点最大的堆叫做最大堆或大顶堆,反之叫做最小堆或小顶堆。常见的堆有二叉树堆,斐波那契堆等。 堆的特点 每个节点最多可以有两个结点。 除了根结点没有兄弟结点,最后一个左子结点可以没有兄弟节点,其他结点必须有兄弟结点。 根结点的键值是所有堆结点键值中最大者(最小者)且每个结点的值都比其孩子结点的值大(小). 如下图A,B不是堆,C是最大堆。 堆的算法实现(以最大堆为例) 将下列数组构建为最原创 2021-08-05 16:38:21 · 799 阅读 · 0 评论