
数据结构
CRongQ
不忘初心,脚踏实地!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
查找-顺序查找
顺序查找的思路: 从数据的第一个元素开始,依次将扫描到的关键字和给定值key比较。若当前扫描到的关键字和key相等,则查找成功;若扫描结束还没有找到和key相等的元素,就表示查找给定的值不在表中。 时间复杂度: O(n). 优点: 1.算法简单 2.对表结构没有任何要求,用顺序表或者用链表都可以。 3.表中元素之间是否有序,仍然可适用。 例子:查找数组{3,6,2,10,1,8,5...原创 2018-09-11 15:34:24 · 419 阅读 · 0 评论 -
查找-折半查找(二分查找)
折半查找 折半查找,也称为二分查找。其要求是数据是有序的,即表中元素按关键字有序。 比如有序表是递增有序的。首先取这表中的中间的数据与关键值(给定值key)比较的关系。若key>表的中间值,则说明key存在于表的中间值的右侧。因此,中间值右侧的区间又要取出中间值再与key比较,以此类推,直至查找成功或者区间缩小为0时还找不到就结束。 若key有与表中某区间 的中间值相等,则说明查找成功...原创 2018-09-13 15:45:20 · 3184 阅读 · 0 评论 -
查找-分块查找
索引存储结构 存储节点信息时,建立索引表,索引表含有若干个索引项,索引项的一般形式:(关键字,地址),关键字表示表示一个节点,地址是指向节点的信息。可以通过索引的方法来操作相应位置的数据。 优点: 1.提高数据查找的速度 2.插入、删除时,只需要移动索引表中对应节点的存储地址,而不必移动节点中节点的数据。 缺点: 增加了索引表,所以降低了存储空间的利用率。 分块查找(又称索引顺序...原创 2018-09-13 22:48:50 · 4759 阅读 · 6 评论 -
查找-二叉排序树查找
二叉排序树的性质: (1)若某节点的左子树非空,则左子树上所有元素的值都小于该元素的值。 (2)若某节点的右子树非空,则右子树上所有元素的值都大于该元素的值。 问题:在二叉排序树种,原则上各元素关键字是唯一的。然而在实际运用中,不能保证各元素之间的关键字都不相同。因此性质中,可以把”大于“或”小于“修改成”大于等于“或者“小于等于”。 特点: 1.二叉排序树是有序的 2.构造的二叉排序...原创 2018-09-14 08:56:14 · 2212 阅读 · 1 评论 -
数据结构教程--李春葆版(总结)之线性表-顺序存储结构概念
本文的主要内容来自数据结构教程--李春葆版,由“你是木头人”博主进行总结。 线性表的顺序存储结构 性质: 线性表所占用存储空间大小: n乘以sizeof(ElemType),其中n表示线性表的长度,ElemType是线性表中的数据元素。 表中某数据元素的存储地址: LOC(A)+i*sizeof(ElemType)(其中LOC(A)表示为起始位置,i为顺序表的下标序号) 线性表的顺序...原创 2019-06-22 15:58:18 · 1044 阅读 · 0 评论 -
数据结构教程--李春葆版(总结)之线性表-顺序存储结构练习题
本文的主要内容来自数据结构教程--李春葆版,由“你是木头人”博主进行总结。 【例2.2】假设有两个集合A和B,分别用两个线性表LA和LB表示,即线性表中的数据元素为集合中的元素。利用线性表的基本运算编写一个算法求一个新的集合C=AUB,即将两个集合的并集放在线性表LC中。 void unionList(List LA,List LB,List &C) { int lena,i; E...原创 2019-06-23 09:11:53 · 2029 阅读 · 0 评论 -
数据结构教程--李春葆版(总结)之排序-插入排序
本文的主要内容来自数据结构教程--李春葆版,由“你是木头人”博主进行总结。 插入排序 性质:每次将一个待排序的元素,按其关键字大小插入到已经排好序的子表中的适当位置,直到全部元素插入完成为止。 直接插入排序 //直接插入排序-稳定 typedef struct { int key; }RecType; void InsertSort(RecType R[],int n) { int i,...原创 2019-06-23 20:15:37 · 668 阅读 · 0 评论 -
数据结构教程--李春葆版(总结)之排序-交换排序
本文的主要内容来自数据结构教程--李春葆版,由“你是木头人”博主进行总结。 交换排序 性质:两两比较待排序元素的关键字,发现两个元素的次序相反时即进行交换,直到没有反序的元素为止。 冒泡排序 //冒泡排序-稳定 typedef struct { int key; }RecType; void BubbleSort(RecType R[],int n) { int i,j...原创 2019-06-23 20:32:53 · 913 阅读 · 0 评论