数据结构与算法
文章平均质量分 71
从最基础的知识开始来提高自己的编程能力
努力弥补运气
学习
展开
-
【B树及B树的基本操作】
文章目录1.B树的定义和特性2.B树的性质3.B树创建的过程。1.B树的定义和特性B树是一种平衡的多路查找树。一棵m阶的B树(B树中所有结点的孩子个数的最大值为m),或为空树,或为满足下列特性的m叉树:(1)树中每个结点至多有m棵子树,至多含有m-1个关键字;(2)若根结点不是叶子结点,则至少有两棵子树;(3)非根非叶节点至少有 ⌈m/2⌉ 棵子树,至少含有 ⌈m/2⌉-1课子树;(4)所有的非终端节点中包含下列信息数据(5)所有的叶子结点都出现在同一层次上,并且不带信息(可以看作是外原创 2022-04-27 22:35:40 · 2920 阅读 · 0 评论 -
顺序表的基本操作
1.顺序表的的定义线性表的顺序存储又称顺序表。它是用一组地址连续的存储单元依次存储线性表中的数据元素,从而使得逻辑上相邻的两个元素在物理位置上也相邻。第1个元素存储在线性表的起始位置,第i个元素的存储位置后面紧邻这存储的是第i+1个元素,称 i 为元素ai在线性表中的位序。因此,顺序表的特点是表中元素的 逻辑顺序和物理顺序相同。 假定线性表中的元素类型为ElemType,则线性表的顺序存储为1| #define MaxSize 100 //定义线性表的最大长度2|typedef stru原创 2022-02-10 12:05:14 · 1090 阅读 · 0 评论 -
从有序顺序表中删除其值重复的元素 C++实现
文章目录1.例题2.算法思想3.代码演示4.运行结果1.例题(1)题目描述从一个长度为N有序顺序表中删除所有其值重复的元素,使表中所有元素均不同。(2)输入样例:111 2 2 2 3 3 5 6 4 4 7(3) 输出样例:2.算法思想3.代码演示4.运行结果...原创 2022-03-04 16:18:38 · 4552 阅读 · 0 评论 -
顺序表的逆置
算法基本设计思想:先举两个例子吧。例1:原顺序表:1 2 3 4 5 6 逆置后为:6 5 4 3 2 1例2:原顺序表:1 2 3 4 5 6 7 逆置后为:7 6 5 4 3 2 1在例1中顺序表的长度为6,为偶数,我们可以这样来交换,6和1,5和2,4和3,一共进行三趟交换,这样交换后就得到改顺序表的逆序了。在例2中,顺序表的长度为7,为奇数,和例1一样交换,7和1,6和2 ,5和3,4这个元素处于最中间,它是固定不动的。从这两个例子我们可以发现其中的规律,就是当顺序表的长度为奇数和偶数时,原创 2022-02-10 23:01:05 · 7593 阅读 · 0 评论 -
【数据结构】链表的基本操作
规划/* 链表的基本操作 */#include<iostream>#include<algorithm>#define ElemType intusing namespace std;typedef struct LNode{ ElemType data; //数据域 LNode *next; //指针域 } *LinkList;//链表的初始化void IniteList(LinkList &L){ L = new LNode; //创建头结点原创 2022-03-11 22:50:01 · 8179 阅读 · 0 评论