数据结构
文章平均质量分 88
此专栏专门存放有关数据结构的文章
魔理沙偷走了BUG
万年的铁树要开花
展开
-
【数据结构陈越版笔记】2.1 引子【第2章 数据结构实现基础】
(2)操作实现:在确定数据的存储方式后,数据结构涉及的另一个问题是相关的操作(运算)如何实现。在程序中,我们可以将程序的某个功能设计为函数,这一方面降低了程序设计的复杂性,另一方面也提高了程序设计的重用性。这个问题当然也可以用排序解决,但还有另一种更巧妙的方法,基本思路是:用一个基准数e将集合S分解为不包含e在内的两个小集合。(1)数据存储:对于上述问题,其数据对象是集合S,这也是最简单的一种数据组织方式。:基于问题分解,求集合中位数的问题实际上就是另一个问题的特殊情况,即求集合中的第K大数问题。原创 2024-06-16 11:02:34 · 1146 阅读 · 2 评论 -
【数据结构】三路快速排序
传统快速排序用的是双路快速排序,即将大于基准值的部分放到基准值右侧,小于基准值的部分放到基准值左侧,但是这种算法面对过多的重复数据的数组,时间复杂度会增多,于是就有了三路快速排序的思想,其想法是将数组分为三个区间,假设选择数组的首元素作基准值e,则小于基准值e的数组放到基准值的左侧,等于基准值e的放到中间,大于基准值e的放到右边,即下图所示。原创 2024-06-16 10:27:22 · 657 阅读 · 1 评论 -
【数据结构陈越版笔记】进阶实验1-3.1:两个有序序列的中位数
我这答案做的可能不对,如果不对,欢迎大家指出错误,思路大部分直接写在注释中了。原创 2024-06-14 20:40:13 · 475 阅读 · 0 评论 -
【数据结构陈越版笔记】基础实验1-2.1:有序数组的插入
* 保存线性表中最后一个元素的位置 */L是用户传入的一个线性表,其中ElementType元素可以通过>、==、<进行比较,并且题目保证传入的数据是递减有序的。函数Insert要将X插入Data[]中合适的位置,以保持结果依然有序(注意:元素从下标0开始存储但如果X已经在Data[]中了,就不要插入,返回失败的标记false;如果插入成功,则返回true。另外,因为Data[]中最多只能存MAXSIZE个元素,所以如果插入新元素之前已经满了,也不要插入,而是返回失败的标记false。原创 2024-06-14 13:07:55 · 912 阅读 · 0 评论 -
【数据结构陈越版笔记】案例1-1.1:二分查找
* 保存线性表中最后一个元素的位置 */L是用户传入的一个线性表,其中ElementType元素可以通过>、==、<进行比较,并且题目保证传入的数据是递增有序的。函数BinarySearch要查找X在Data中的位置,即数组下标(注意:元素从下标1开始存储找到则返回下标,否则返回一个特殊的失败标记NotFound。原创 2024-06-14 13:06:03 · 890 阅读 · 0 评论 -
【数据结构陈越版笔记】第1章 概述【习题】
个人解析数据结构陈越版课后习题,可能会有错误的答案,欢迎大家指出原创 2024-05-13 12:25:08 · 745 阅读 · 2 评论 -
【数据结构陈越版笔记】第1章 概论
陈姥姥的书里讲的定义挺通俗易懂的,我这里直接把严蔚敏书的定义拿过来数据:数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。数据元素:数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。数据对象:数据对象是性质相同的数据元素的集合,是数据的一个子集。例如,整数数据对象是集合N0±1±2⋯N0±1±2⋯数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。通常有4类基本结构“集合。原创 2024-05-11 12:35:00 · 1064 阅读 · 0 评论 -
【数据结构】基数排序(以排三位整数为例)
基数排序(以排三位整数为例)原创 2022-09-27 17:13:46 · 575 阅读 · 0 评论 -
【数据结构】堆、大根堆、小根堆与堆排序(C语言实现)
堆、大根堆、小根堆与堆排序(C语言实现)原创 2022-09-21 23:47:42 · 3593 阅读 · 0 评论