数据结构与算法
文章平均质量分 62
数据结构与算法
程序员小x
一名在进阶路上的c/c++选手,热爱编程,欢迎与我交流
展开
-
堆排序算法及其稳定性分析
堆排序算法原创 2023-07-05 13:06:47 · 1021 阅读 · 1 评论 -
面试题:希尔排序是一种稳定排序吗?
面试题:希尔排序是一种稳定排序吗?原创 2023-06-25 13:37:03 · 1519 阅读 · 2 评论 -
直接选择排序及其稳定性分析
直接选择排序及其稳定性分析原创 2023-06-20 13:38:20 · 1119 阅读 · 2 评论 -
面试题:堆排序是一种稳定排序吗?
面试题:堆排序是一种稳定排序吗?原创 2023-06-18 20:27:32 · 1365 阅读 · 2 评论 -
计数排序的原理和实现
文章目录计数排序概念实现方式关于计数排序的性能参数代码实现计数排序概念计数排序是一个非基于比较的排序算法。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法。当然这是一种牺牲空间换取时间的做法。动图演示实现方式例如,已知要排序的数组里的数的取值范围,要用最快的速度将其排序。假如范围是1-9,如上面动图所示一、找到数组中最大值和最小值二、建立一个max-min+1的数组空间,每个元素初始值为0三、遍历要排序的无序数组比如说,第一个转载 2020-07-29 14:11:58 · 735 阅读 · 0 评论 -
二叉查找树、AVL树、红黑树、B树和B+树
二叉查找树(BST)二叉查找树也称为二叉查找树,具有以下性质:若左子树不为空,则左子树的值均小于根节点的值。若右子树不为空,则右子树的值均大于根节点的值。左、右子树也分别是二叉查找树。AVL树平衡二叉树(AVL Tree)在符合二叉查找树的条件下,还满足任何节点的两个子树的高度差最大为1。红黑树红黑树是一种二叉查找树,但在每个节点增加一个存储位表示节点的颜色,可以是red或black。通过对任何一条从根到叶子的路径上各个节点着色的方式的限制,红黑树确保没有一条路径会比其他路径长出两倍原创 2020-07-12 00:31:40 · 361 阅读 · 0 评论 -
红黑树的原理 (插入+ 删除) 案例分析(附实现代码)
文章目录参考视频https://www.bilibili.com/video/BV1KA41187v6?from=search&seid=14951139765609390496(这个视频是讲是讲删除讲的比较好的)参考文章https://zhuanlan.zhihu.com/p/22800206(这篇文章是讲删除讲的比较好的)https://blog.csdn.net/net_wolf_007/article/details/79706498(这篇文章是讲实现讲的比较好的)...原创 2020-07-12 16:08:02 · 1940 阅读 · 1 评论 -
《大话数据结构》快速排序中存在的一个小问题
在大话数据结构这本书中,对快速排序进行改进的QSort1代码如下:void QSort1(SqList *L,int low,int high){ int pivot; if((high-low)>MAX_LENGTH_INSERT_SORT) { while(low<high) { pivot=Partition1(L,low,high); /* 将L->r[low..high]一分为二,算出枢轴值pivot */ QSort1(L,low,pivot-原创 2020-07-03 12:09:14 · 205 阅读 · 0 评论 -
数据、数据元素、数据项、数据对象的理解
理解数据结构与算法时,觉得大多数的书上讲的定义特别抽象,数据、数据元素、数据项、数据对象这四个概念特别难懂本人理解如下:假设有两张表,A表为人员表,B表为课程表,这两张表就是数据、而单独的一张表就称为数据对象,即人员表是一个数据对象,课程表也是一个数据对象而每张表中的每一行就称为数据元素而姓名,性别,身高,课程代号,课程名就称为数据项...原创 2018-04-09 16:18:21 · 35426 阅读 · 11 评论