![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
总结数据结构学习过程中的相关概念
羊驼儿
菜鸟上路
展开
-
数据结构:交换排序之冒泡排序法详解
冒泡排序基本思想:实现代码如下:void BubbleSort(int* array, int size){ //外层循环控制的是冒泡的趟数,即需要多少趟 for (int i = 0; i < size - 1; ++i) { //具体冒泡的方式:依次用相邻的两个元素进行比较,将大的元素移至末尾 //j是否需要-1:我们要看j是表示的什么含义 //j:表示的是数组的下标---->j表述前一个元素的下标 for (int j = 0; j < size -原创 2021-03-11 18:13:16 · 576 阅读 · 0 评论 -
数据结构:直接选择排序详解
选择排序基本思想:每一次从待排序的元素中选出最大(最小)的一个元素,存放在序列的起始位置,直到待排序的元素变为有序 。选择排序算法通过选择和交换来实现排序,其排序流程如下:首先从待排序元素中选择最大的一个数据,将其和位与最后位置的数据进行交换;接着从剩下的size-1个数据中选择次大的一个元素,将其和倒数第二个位置进行数据交换;然后,这样不断重复,直到完成最后两个数据的交换,便完成了从小到大的排序其代码实现如下:void SelectSort(int* array, int size)原创 2021-03-11 14:59:17 · 1399 阅读 · 0 评论 -
数据结构:插入排序详解
目录插入排序直接插入排序希尔排序插入排序基本思想:直接插入排序是一种简单的插入排序法,其基本的思想是:把待排序的记录按其关键码值得大小逐个插入到一个已经排好序得有序序列中,知道所有的记录插入完为止,得到一个新的有序序列。插入排序的思想类似于我们玩扑克牌时洗牌时的场景。直接插入排序描述如下:1.从第一个元素开始,该元素可以认为已经被排序2.取出下一个元素,在已经排序的元素序列中从后向前扫描3.如果该元素(已排序)大于新元素,将该元素移到下一位置4.重复步骤 3,直到找到已排序的元素小于或者等于原创 2021-03-10 17:58:05 · 784 阅读 · 2 评论 -
数据结构:二叉树的相关概念和结构
在我们学习二叉树之前,先来了解一下树以及节点方面的概念和定义,这样更有助于我们学习二叉树的性质根结点:没有父结点叶结点:没有子结点节点的度:一个节点含有的子树的个数称为该节点的度;(如A节点的度为6)叶结点或终端结点:度为0的节点(如:B、C等)非终端节点或分支节点:度不为0的节点(如:D、E等)双亲节点或子节点:若一个节点含有子节点,则这个节点称为其子节点的父节点(如:A是B的父结点)孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点(如:B是A的孩子节点)兄弟节点:具有相原创 2020-09-07 22:55:15 · 275 阅读 · 0 评论 -
数据结构:队列的实现
队列的概念及其结构只允许在一段进行插入数据的操作,在另一端进行删除数据操作的特殊线性表。队列遵循先进先出的原则原创 2020-07-25 23:28:34 · 119 阅读 · 0 评论 -
数据结构:栈的实现
栈的结构和概念站是一种特殊的线性表,它只允许在固定的一端进行插入和删除元素的操作。进行数据插入和删除操作的一端成为栈顶,另一端称为栈底,栈中元素遵循先出后进的顺序压栈:出栈:栈的实现...原创 2020-07-25 19:51:26 · 170 阅读 · 0 评论 -
数据结构:双向循环链表的实现(附有详细图解)
双向循环链表的实现(1)动态申请节点在这里插入代码片原创 2020-07-25 16:08:08 · 9590 阅读 · 2 评论 -
数据结构:单链表的实现(最强解释版)
链表的概念及其结构链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链表接次序实现的。链表不能将元素直接存储在不连续的内存空间,因为此结构中下一个元素未知,因此除了要存储元素的信息外,还必须要存储元素下一个节点的位置(地址)链表的结构链表可以分为下面三类。组合起来共有八种结构1.单向、双向2.带头节点、不带头3.循环、不循环...原创 2020-07-24 20:57:33 · 544 阅读 · 0 评论 -
数据结构:C语言实现顺序表(有详细解释哦)
线性表线性表时一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串线性表在逻辑上的存储是线性结构,但在物理结构上并不一定是连续的,它通常以数组和链式结构进行存储顺序表顺序表的底层结构就是一段连续的空间概念及其结构顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组进行存储,在数组上完成数据的增删改查功能顺序表分为:1.静态顺序表...原创 2020-07-22 00:55:23 · 687 阅读 · 0 评论 -
数据结构:时间复杂度和空间复杂度
时间复杂度大O渐进表示法常见的时间复杂度计算举例空间复杂度原创 2020-04-02 16:41:43 · 315 阅读 · 0 评论