![](https://img-blog.csdnimg.cn/direct/9a61408ae15946298bc2bacac942036c.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
文章平均质量分 88
记录数据结构学习之路
小灵蛇
我与我周旋久,宁做我
展开
-
八大排序(一)冒泡排序,选择排序,插入排序,希尔排序
冒泡排序的原理是:重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。原创 2023-11-14 19:57:56 · 109 阅读 · 6 评论 -
二叉树解析
该函数主要运用到递归的思想,把节点分为空节点和正常节点两种情况,为空的时候就返回0,为正常情况就返回左子树的节点个数加上右子树的节点个数加上自身的一个。从根开始定义起,根为第1层,根的子节点为第2层,以此类推;若一个节点含有子节点,则这个节点称为其子节点的父节点;一个节点含有的子树的根节点称为该节点的子节点。一个节点含有的子节点的个数称为该节点的度;以某节点为根的子树中任一节点都称为该节点的。具有相同父节点的节点互称为兄弟节点;从根到该节点所经分支上的所有节点;为0的节点称为叶节点;树中节点的最大层次;原创 2023-10-08 12:21:17 · 98 阅读 · 8 评论 -
八大排序(二)堆排序,快速排序,归并排序,计数排序
因为在堆的调整过程中,元素进行比较和交换所走的是该结点到叶子结点的一条路径,因此对于相同的元素就可能出现排在后面的元素被交换到前面来的情况。(2)将子表两两合并,每合并一次,就会产生一个新的且更长的有序表,重复这一步骤,直到最后只剩下一个子表,这个子表就是排好序的线性表。(1)将待排序的线性表不断地切分成若干个子表,直到每个子表只包含一个元素,这时,可以认为只包含一个元素的子表是有序表。两个操作,建堆过程的时间复杂度是 O(n),排序过程的时间复杂度是 O(nlogn),所以,堆排序整体的时间复杂度是。原创 2023-11-21 19:44:48 · 140 阅读 · 7 评论