数据结构
qq_38198467
简化思维
展开
-
数据结构:数据结构三要素
三要素:数据的逻辑结构:可以理解为我们看到的程序的样子,比如程序先后做了哪些操作,一个数组里面按照什么样的规律存放了哪些数据等。这是比较直观的。常用结构:集合:只是存在一个相同的空间内,没有其他关系 线性结构:数据之间有一对一的关系,比如排队 树形结构:数据之间是一对多的关系,比如家谱 图状结构或网状结构:数据之间存在多对多的关系,比如老师和学生===========...原创 2019-07-14 17:27:52 · 1343 阅读 · 0 评论 -
考研数据结构之C语言实现顺序表的增、删、查(粘贴即可运行)
运行效果使用IDE环境配置代码#pragma clang diagnostic push#pragma ide diagnostic ignored "cert-err34-c"#include <stdio.h>#include <stdlib.h>#include <assert.h>#include...原创 2019-08-26 16:21:38 · 177 阅读 · 0 评论 -
数据结构:树
树的定义:我们简单一点,像下面这个结构的数据结构就是树。我们最上面那个叫做根节点。同时,它的每一个分支是没有关联的,看出来了吧。根节点前面没有节点,就是没有前驱节点。除了根节点的其他节点只有一个前驱节点。结点的家族关系:祖先结点:比如这里的G这个节点,从A到G这条线上的所有节点,除了G自己以外的都能叫做G的祖先节点。子孙结点:反过来想一下,A节点下面所有的节点都是它的子孙节点...原创 2019-07-30 10:30:24 · 342 阅读 · 0 评论 -
数据结构:哈夫曼树和哈夫曼编码
名词概念:权:就是权重,全重大的有一些特性,小的是另外一些特性路径长度:经过结点的边数,这个我们前面说过带权路径长度:这个就是上面两个结合起来。从根节点开始到任何结点的路径长度,和这个结点上的权值的乘积树的带权路径长度:所有叶子结点的带权路径长度之和哈夫曼树的定义:哈夫曼树也叫做最优二叉树。上面这里说的带权路径长度是说的整个树的带权路径长度哈夫曼树的建立过程:...原创 2019-07-31 10:31:11 · 182 阅读 · 0 评论 -
数据结构:矩阵
使用数组表示矩阵存储:学过线性代数的我们都知道,矩阵其实就是一个二维的表格,那么数据结构中的矩阵其实也是一样的,计算机中可以用矩阵这种形式来存储数据。那么我么怎么表示矩阵呢?在这里我们仍然可以使用数组来表示,不过,矩阵始终是个二维的东西,那么我们怎么用数组来表示二维的表格?答案很简单,使用二维数组即可!什么二维数组,其实一句话就是:数组里面的元素还是数组。比如说这个亚子。我们知...原创 2019-07-22 11:27:00 · 3724 阅读 · 1 评论 -
数据结构:二叉树
二叉树的定义:形如这个亚子的就是二叉树咯;二叉树就是说,他的每一个结点最多只有两个孩子结点。不能再多了。二叉树特点:1.它的左右孩子是严格区分的,左孩子和右孩子是不一样的。2.五种基本形态的二叉树空树 只有一个根节点 根节点只有左子树 根节点只有右子树 根节点有左右子树特殊的二叉树:1.斜树2.满二叉树3.完全二叉树完全二叉树其...原创 2019-07-30 15:42:45 · 174 阅读 · 0 评论 -
数据结构:栈的应用
括号匹配:从上面这个图中我么可以看出,我们平时用的括号是怎么样的,我么都知道,括号一定是两两配对的。有开必有合,不然这一对括号就是不完整的,错误的。那么在括号的匹配中是怎么应用栈的呢?我们可以很快的想象到,在我们手写括号的时候,我们是否是写了一个括号就赶紧把它闭起来,也就是说,{(这样两个括号,里面的小括号是不是肯行要先闭合起来,然后再闭合外面的大括号,对吧,这里不要抬杠,你说你非...原创 2019-07-19 13:59:44 · 168 阅读 · 0 评论 -
数据结构:队列
先来一张总体结构图循环队列是顺序队列的一个延申队列的定义:和栈对比起来,栈不是先进去的后出来嘛?队列刚好反着来,先进去的先出来,相当于是什么呢?栈只有一个出口,队列呢?两个出口,通风的。同样的,队列的实质也是一个受限制的线性表!!!记住了,也是线性表的一种!他呢就可以在两头操作了,不过两头的操作是不能重叠的,比如只能在一端进行插入,另外一端只能进行删除,不能再同一端又插入又...原创 2019-07-19 11:06:01 · 244 阅读 · 0 评论 -
数据结构:线性表
先来一张总体的结构图:线性表的定义:始终记住一点,任何的数据结构,都逃不过逻辑结构,物理结构(存储结构),以及数据的运算这三个部分。这是数据结构的规定。线性表的逻辑结构:线性表是具有相同数据类型的n个数据元素的有限序列,注意:n是>=0的,也就是说,n可以等于0,当n等于0的时候,这个线性表就是一个空表。怎么理解这个定义呢?有三点重要!首先是具有相同的数据类型:也...原创 2019-07-16 12:51:31 · 234 阅读 · 0 评论 -
数据结构:栈
先来一张总体结构图:栈的实质其实还是线性表栈的定义:那么栈究竟是什么呢!其实他就是一个只能在一端进行插入或者删除操作的线性表!!!记住两点,首先他只能在一端进行操作,其次他是一个线性表。既然是只能在一端进行操作,那么肯定对这一端有特殊的名词。嘿嘿..明显,我们能够操作的那一段叫栈顶,而不能操作的那一段叫栈底。栈顶指针:和我们前面线性表的头指针一样,关于栈顶指针,只需要记...原创 2019-07-18 08:26:52 · 260 阅读 · 0 评论 -
数据结构:算法
五大特征:又穷性:程序嘛,一定是要在有限的步骤之后就要停下来,不然电脑遭不住,会死机的 确定性:程序的每一步他都会有一个确定的结果。 可行性:程序的是否可行取决于当下的具体环境,比如计算机的计算能力、存储能力等。受这些条件的限制,有些算法在理论上是可以实现的,但是在现实中是没有办法完成的。 输入:就是我们敲进去的,电脑能够识别的一些数字,字符或者图像等等 输出:程序运行过程中或者结束后...原创 2019-07-14 18:53:17 · 131 阅读 · 0 评论 -
C语言实现单链表的头插、尾插、删除、插入、查询操作
效果图编译工具:代码:#pragma clang diagnostic push#pragma ide diagnostic ignored "cert-err34-c"/********************************************* * 单链表的实现 **************************************...原创 2019-08-26 16:22:45 · 1007 阅读 · 0 评论