
C++数据结构X篇
文章平均质量分 83
本专栏将会对C++数据结构进行介绍(第一遍先根据别人的博文了解数据结构的框架,后期一定要跟着视频再做一次,从C去理解,也有助于C的提升)
十月旧城
winter is coming
展开
-
C++数据结构X篇_25_堆排序(不稳定的排序)
堆排序就是永远把最大或最小的数扔在顶上。升序排序:利用最大堆进行排序降序排序:利用最小堆进行排序。原创 2023-10-27 15:48:38 · 179 阅读 · 0 评论 -
C++数据结构X篇_24_归并排序(稳定的排序)
归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法,归并排序对序列的元素进行逐层(递归)折半分组,然后从最小分组开始比较排序,合并成一个大的分组,逐层进行,最终所有的元素都是有序的。归并排序基本思想:将两个有序序列合并成一个有序序列。原创 2023-10-26 14:59:55 · 206 阅读 · 0 评论 -
C++数据结构X篇_23_快速排序(最快、不稳定的排序)
快速排序(Quick Sort)是从冒泡排序算法演变而来的,实际上是在冒泡排序基础上的递归分治法。快速排序在每一轮挑选一个基准元素,并让其他比它大的元素移动到数列一边,比它小的元素移动到数列的另一边,从而把数列拆解成了两个部分。原创 2023-10-25 14:39:51 · 683 阅读 · 1 评论 -
C++数据结构X篇_22_希尔排序(不稳定的排序)
希尔排序又叫递减增量排序算法,它是在直接插入排序算法的基础上进行改进而来的,综合来说它的效率肯定是要高于直接插入排序算法的;希尔排序是一种不稳定的排序算法。原创 2023-10-25 10:43:03 · 383 阅读 · 0 评论 -
C++数据结构X篇_21_插入排序(稳定的排序)
因为不知道数组中得前几个元素是已经有序的,所以直接从第二个元素开始执行插入排序,将每个元素都进行一次插入排序。当原序列的长度很小时,即便它的所有元素都是无序的,此时进行的元素比较和移动的次数还是很少。当待排序的原序列中大多数元素都已有序的情况下,此时进行的元素比较和移动的次数较少;插入排序是一种最简单直观的排序算法,它的工作原理是。后篇介绍的希尔排序就是基于上面2个性质的改进。原创 2023-10-24 21:35:14 · 669 阅读 · 0 评论 -
C++数据结构X篇_20_选择排序(不稳定的排序)
选择排序:相对于冒泡排序,减少了交换次数,下图展示了选择排序的原理,具体仍需要结合代码分析。运行结果:时间消耗424ms,比冒泡排序改进版的时间消耗也少了很多。原创 2023-10-23 22:42:18 · 288 阅读 · 0 评论 -
C++数据结构X篇_19_排序基本概念及冒泡排序(重点是核心代码,冒泡是稳定的排序)
如果在序列中有两个数据元素r[i]和r[j],它们的关键字 k[i]==k[j],且在排序之前,对象 r[i]排在r[j]前面。如果在排序之后,对象 r[i]仍在r[j]前面,则称这个排序方法是稳定的,否则称这个排序方法是不稳定的。排序时需要比较的关键字多余一个,排序结果首先按关键字 1 进行排序,当关键字1相同时按关键字 2 进行排序,当关键字 n-1 相同时按关键字n进行排序,对于多关键字排序,只需要在比较操作时同时考虑多个关键字即可!排序是计算机内经常进行的一种操作,其目的是将一组。原创 2023-10-23 22:02:21 · 682 阅读 · 1 评论 -
C++数据结构X篇_18_二叉树的创建(根据遍历结果创建二叉树;#号法创建树)
创建树,让树的每一个节点都变成度数为 2的树先序遍历结果:124###3## (#代表null即空)原创 2023-10-19 15:08:33 · 302 阅读 · 0 评论 -
C++数据结构X篇_17_C++实现二叉树的非递归遍历(企业链表实现栈,利用栈的先进后出特点实现二叉树的非递归遍历)
本篇参考进行整合介绍。在中我们实现二叉树通过递归遍历实现了先序、中序与后续遍历,那么如何通过非递归遍历实现先序、中序与后续遍历呢?原创 2023-10-18 21:52:15 · 174 阅读 · 0 评论 -
C++数据结构X篇_16_二叉树的拷贝和释放(采用递归的方法)
在上篇的基础上,本篇介绍如何进行二叉树的拷贝和释放。从代码中可以看到采用递归方式进行的拷贝、释放操作,基本套路都是一样的。原创 2023-10-17 22:32:51 · 791 阅读 · 0 评论 -
C++数据结构X篇_15_求二叉树叶子数与高度(递归方法)
本篇参考进行整理。原创 2023-10-17 21:38:18 · 536 阅读 · 0 评论 -
C++数据结构X篇_14_二叉树的递归遍历(先序遍历、中序遍历、后续遍历方法介绍;举例;代码实现)
指按某条搜索路线遍访每个结点且不重复(又称周游)。//定义二叉树节点public:char ch;//节点数据域//左孩子//右孩子。原创 2023-09-17 10:54:25 · 301 阅读 · 0 评论 -
C++数据结构X篇_13_二叉树基本概念、性质及表示法
n(n≥0)个结点的有限集合,由一个根结点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成。int data;int data;//左右孩子指针三叉链表示法相对于二叉链表示法,多了一个结构体指针,指向爹。原创 2023-09-15 22:43:32 · 314 阅读 · 0 评论 -
C++数据结构X篇_12_树的基本概念和存储
由一个或多个(n≥0)结点组成的有限集合 T,有且仅有一个结点称为根(root),当n>1时,其余的结点分为m(m≥0)个互不相交的有限集合T1,T2,…,Tm。每个集合本身又是棵树,被称作这个根的子树。原创 2023-09-13 23:02:52 · 320 阅读 · 0 评论 -
C++数据结构X篇_11_C++栈的应用-后缀表达式求解
上篇中我们介绍了我们所熟知的中缀表达式转为后缀表达式,那么如何通过呢?本篇将会介绍计算机是如何基于后缀表达式计算的?原创 2023-09-10 11:45:08 · 435 阅读 · 0 评论 -
C++数据结构X篇_10_C++栈的应用-中缀转后缀
中缀表达式就是我们平时运算表达式,其特点是运算符总是处于两个运算对象之间。但是该表达式计算机处理起来较为麻烦,会将其转写成后缀表达式,后缀表达式也叫逆波兰表达式,后缀表达式的特点是每个运算符都置于两个运算对象之后。。原创 2023-09-10 10:52:30 · 205 阅读 · 0 评论 -
C++数据结构X篇_09_C++实现队列的顺序存储与链式存储
本篇参考整理,先搞懂结构框架,后期根据视频利用c对内容实现,也可以对c有更高的提升。原创 2023-07-11 22:25:41 · 348 阅读 · 0 评论 -
C++数据结构X篇_08_C++实现栈的顺序存储与链式存储
本篇参考整理,先搞懂结构框架,后期根据视频利用c对内容实现,也可以对c有更高的提升。原创 2023-07-10 22:40:09 · 314 阅读 · 0 评论 -
C++数据结构X篇_07_C++单向循环链表解决约瑟夫问题
本篇参考整理,先搞懂结构框架,后期根据视频利用c对内容实现,也可以对c有更高的提升。原创 2023-07-03 21:50:17 · 318 阅读 · 0 评论 -
C++数据结构X篇_06_C++单向循环链表实现
/定义节点 class circle_node {public :int data;//定义循环链表 class circle_list {public :int size;//链表初始化 circle_list * list_init() {//头指针初始指向自己 return L;这里与单向链表唯一的不同就是,头指针L->head->next=L->head指向自己而不是指向NULL。原创 2023-06-26 22:37:48 · 369 阅读 · 0 评论 -
C++数据结构X篇_05_企业链表的思路和实现(企业链表是企业中经常使用的一种链表;企业链表p_next仅仅指向下一个p_next的地址,链表中并未涉及任何data数据)
/链表指针节点节点 class node_p {public ://链表 class list {public :int size;//初始化链表 list * list_init() {return L;//自定义链表数据节点 class my_data {public :int num;当我们创建my_data的对象指针p1,将其强转成node_p的对象指针a1,a1->next=p1->p_data(具体原理见。原创 2023-06-25 22:54:35 · 207 阅读 · 0 评论 -
C++数据结构X篇_04_单向链表框架搭建、实现和测试(链表的定义,常用操作的实现等)
本文以C中struct的形式介绍单向链表,亦提及C++中的实现方法原创 2022-12-02 22:33:11 · 792 阅读 · 0 评论 -
C++数据结构X篇_03_线性表的顺序存储和动态数组案例(基本概念;操作要点;顺序存储算法;动态数组案例实现)
本篇将会介绍线性表的2种存储方式:顺序存储和链式存储中的`顺序存储`,并介绍顺序存储的案例:动态数组。原创 2022-11-27 21:50:52 · 858 阅读 · 0 评论 -
C++数据结构X篇_02_线性表基本概念(线性表是零或者多个数据元素的有限序列;有顺序,有限,类型必须相同;线性表是具有相同类型n个数据元素的有限序列(a0,a1,...an)ai是表项,n是表长度)
线性表的基本概念原创 2022-11-26 17:40:53 · 533 阅读 · 0 评论 -
C++数据结构X篇_01_数据结构的基本概念
从本篇开始学习数据结构相关概念。原创 2022-11-24 21:34:21 · 568 阅读 · 0 评论