- 博客(7)
- 收藏
- 关注
原创 排序Sort——数据结构
文章目录排序——数据结构排序排序的稳定性直接插入排序直接插入的实现直接插入的特点希尔排序希尔排序的实现希尔排序的特点简单选择排序简单选择的实现简单选择的特点堆排序堆排序的实现堆排序的特点冒泡排序冒泡排序的实现冒泡排序的特点快速排序快速排序的实现归并排序归并排序的实现归并排序的特点计数排序计数排序的实现计数排序的特点排序——数据结构排序假设含有n个记录的序列为{r1,r2,……,rn},其相应的关键字分别为{k1,k2,……,kn},需要确定一种排列,使其相应的关键字满足非递增或非递减关系,即使得序列成
2020-05-29 02:46:22 1654 1
原创 二叉树和堆——数据结构
二叉树——数据结构树树的定义树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一颗非空树中:有且仅有一个特定的称为根(root)的结点;当n>1时,其余结点课分为m(m>0)个互不相交的有限集,其中每一个集合本身又是一棵树,并且称为根的子树。结点结点拥有的子树数称为结点的度(Degree)。度为0的结点称为叶结点或者终端结点。树的度是树内各结点的度的最大值。结点的子树的根称为该结点的孩子(Child),相应的,该结点称为孩子的双亲(Parent
2020-05-26 15:38:19 1236 1
原创 顺序栈和链队列——数据结构
栈和队列栈栈的定义栈(stack)是限定仅在表尾进行插入和删除操作的线性表。我们把允许数据插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出(Last In First Out)的线性表。栈的顺序存储结构栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。// 支持动态增长的栈typedef int DataType;typedef struct Stack{ Data
2020-05-20 21:31:30 1130
原创 线性表的链式存储——数据结构
线性表的链式存储结构为了表示每个数据元素与其直接后继数据元素之间的逻辑关系,除了存储本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。我们把存储数据元素信息的位置称为数据域,把存储其直接后继信息的位置称为指针域。这两部分组成数据元素的结点(Node)。头结点和头指针头结点头结点是为了操作的统一和方便而设立的,放在第一元素的节点之前,其数据域一般无意义;有了头结点,对在第一个元素结点前插入和删除第一个结点的操作就与其他结点的操作统一了;头结点不是链表的必须要有的;
2020-05-19 23:03:16 854
原创 线性表的顺序存储——数据结构
线性表——数据结构线性表的定义线性表(List):零个或多个数据元素的有限序列。元素之间是有序的,若存在多个元素,则第一个元素无前驱,最后一个元素无后继,其他每个元素都有且只有一个前驱和后继。线性表的顺序存储指的是用一段地址连续的存储单元依次存储线性表的数据元素。顺序存储结构#define MAXSIZE 20 //初始存储空间分配量typedef int Type;typedef struct{ Type data[MAXSIZE]; //数组存储元素 int length; //
2020-05-18 12:21:07 824
原创 入门——数据结构
入门——数据结构数据结构数据:是描述客观事务的符号,是计算机可以操作的对象。数据元素:是组成数据的、有一定意义的基本单位。数据项:一个数据元素可以由若干个数据项组成。数据项是数据不可分割的最小单位。数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。逻辑结构和物理结构逻辑结构逻辑结构:是指数据对象中数据元素之间的相互关系。集合结构:集合结构中的数据元素除了同属于一个集合之外,它们之间没有其他任何关系。线性结构:线性结构中的数据元素之间是一对一的关系。树形结构:树形结构中的数据
2020-05-17 15:21:07 743
原创 vim编辑器的使用——Linux
vimvim分为三种模式,分别是命令模式、插入模式、底行模式。模式切换命令模式切换到插入模式i——在光标前插入,I——在行首插入a——在光标后插入,A——在行尾插入o——在光标下一行插入,O——在光标上一行插入s——删除当前字母,进入插入模式,S——删除当前行,进入插入模式插入模式切换到命令模式esc键命令模式切换到底行模式输入":"底行模式切换到命令模式esc键按两次命令模式操作用户启动vim,就进入了命令模式。查看man手册,将光标移动到函数位
2020-05-09 01:25:13 1488
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人