
数据结构
文章平均质量分 88
带你深入了解数据结构
悄悄敲敲敲
fw一个
展开
-
哈希概念与实现C++
哈希表原理 与开放地址法与链地址法原创 2024-10-29 16:51:01 · 1215 阅读 · 0 评论 -
C++ 红黑树增删查实现及思路
红黑树插入删除查找原创 2024-10-15 18:30:24 · 996 阅读 · 0 评论 -
C++实现AVL树增删查
AVL树是最先发明的自平衡二叉查找树,AVL树是一颗空树,或者具备下列性质的一颗二叉搜索树1. 左右子树都是AVL树2. 左右子树高度差的绝对值不超过1(原创 2024-10-09 19:50:27 · 845 阅读 · 0 评论 -
二叉搜索树的概念与实现
二叉搜索树原创 2024-09-19 09:58:28 · 869 阅读 · 0 评论 -
计数,桶与基数排序
要进行 i(最高位的位数) 趟排序 , 每趟排序需要将元素分派到k个桶,所以每趟排序的时间复杂度为O(n+k) 走i趟时间复杂度就为O(i(n+k)) 但桶的个数通常是固定的,执行的躺数一般又较小,所以基数排序的。如果待排序的元素数量很大,这可能会占用较多的内存空间。再次遍历待排序数组,对于数组中的每个元素,将其值减去最小值(为了使得计数数组的下标从0开始),并将计数数组中对应下标的值加1。如果待排序数组中的元素是负数,或者元素的取值范围较大,计数排序可能不适用,因为它需要额外的空间来存储计数数组。原创 2024-07-19 14:23:56 · 981 阅读 · 9 评论 -
快速排序及归并排序的实现与排序的稳定性
代码如下。原创 2024-07-17 19:07:18 · 1375 阅读 · 16 评论 -
冒泡,选择,插入,希尔排序
假设排升序,第一个数自然是有序的,第二个数与第一个数比较,如果比第一个数小就与其交换,然后看第三个数,此时前两个数是有序的,第三个数先于第二个数比较,比第二个数小就与其交换,再与第一个数比较,比第一个数小就与其交换,如果不比第二个数小就看第四个数,此时前三个数都是有序的以此类推。直接插入排序是和距离为1的元素比较,而希尔排序是和距离为gap的元素比较,gap不断变小,直到变为1,此时即是直接插入排序。当数据全都有序时,最快。从时间上讲,gap越大,大的数可以越快的到后面去,小的数可以越快的到前面去。原创 2024-07-16 14:06:00 · 1317 阅读 · 3 评论 -
二叉树的基本操作及层序遍历(附加一道OJ题)
由于之前讲过二叉树的性质,概念等。这里就不赘述了。原创 2024-07-14 15:40:52 · 802 阅读 · 10 评论 -
树的概念与二叉树的实现
二叉树每个节点最多有两个子节点,被称为左子树和右子树。所有的二叉树都分为三部分:根,左子树,右子树2. 特殊二叉树(1) 满二叉树一个二叉树,每层的节点数都达到最大值,如果有k层,节点树为2的k次方-1就是满二叉树,如下图所示即为满二叉树(2)完全二叉树:树的高度是h前h-1层都是满的,最后一层不满,在最后一层从左往右都是连续的(满二叉树是特殊的完全二叉树,缺0个节点)如下图所示即为完全二叉树。原创 2024-07-12 21:52:22 · 1126 阅读 · 15 评论 -
堆及堆排序的实现
int size;}HP;void Swap(HeapType* a, HeapType* b)//需要交换函数*a = *b;*b = tmp;原创 2024-07-12 23:03:46 · 743 阅读 · 12 评论 -
队列的实现
int size;}Queue;我们需要一个头指针和一个尾指针,如果将其整合为一个结构体会方便的多,并且免去了使用二级指针来改变头指针和尾指针,记录元素个数也方便许多。原创 2024-07-08 21:22:57 · 572 阅读 · 3 评论 -
栈的实现详解
/StackType是存储元素的类型int Top;}ST,*pS;a:指针,用来存储数据Top:栈顶元素在a中的位置capacity:a能容纳的元素个数。原创 2024-07-08 13:20:28 · 495 阅读 · 12 评论 -
双向带头链表实现
由于上一篇已经对链表的基本概念讲解完毕,这里就不过多赘述了。原创 2024-05-28 16:52:57 · 416 阅读 · 25 评论 -
单向无头链表实现
int data;}SListNode;data 用来存储数据next用来存储下一个节点的地址。原创 2024-05-23 20:16:53 · 411 阅读 · 7 评论 -
动态顺序表实现
需要三个参数1. a:指向动态内存开辟的空间2. size:数组中的有效数据3. capacity:存储的容量可动态增加//////静态顺序表//{//表示数组中存储了多少个有效数据////}Seqlist;//动态顺序表//指向存储数组的空间int size;//表示数组中存储了多少个有效数据//容量}SL;原创 2024-05-15 22:31:03 · 468 阅读 · 14 评论