数据结构
文章平均质量分 94
songsongL
物以类聚,人以群分。
展开
-
顺序表--学生信息管理
顺序表结构逻辑结构:线性表存储结构:顺序存储基本运算:初始化查找节点插入节点删除节点数据准备typedef int Status; typedef struct{ char name[20]; // 姓名 char stuId[8]; // 学号} 3/10```typedef int Status; typedef struct{ char...原创 2019-07-01 17:15:46 · 2414 阅读 · 0 评论 -
图的应用--拓扑排序
文章目录什么是拓扑排序拓扑排序的过程拓扑排序的实现采用邻接矩阵实现运行结果:采用邻接表实现运行结果:什么是拓扑排序拓扑排序经常用于完成有依赖关系的任务的排序。举个例子:一个软件工程专业的学生必须学习系列的基本课程,其中有些课程是基础课,独立于其他课程,而另一些课程必须先学完先修课程才可以开始后序课程。这个关系可以用有向图表示。学生必须按照拓扑有序的顺序来安排学习计划,这样才能保证...原创 2019-07-16 13:33:01 · 461 阅读 · 0 评论 -
二叉树
文章目录树结构树的基本概念二叉树二叉树的定义: 树结构在一个树结构中,有且仅有一个结点没有直接前驱,这个结点就是树的根结点。除根结点外,其余每个结点有且仅有一个直接前驱。每个结点可以有任意多个直接后继。树的基本概念结点(Node):树中的独立单元。如下图中的A-M。结点的度(Degree):结点的子树个数。如下图A的度为3,E的度为2等...原创 2019-07-07 10:33:04 · 726 阅读 · 0 评论 -
图
文章目录前言图的基本概念图结构:有向图与无向图子图无向完全图与有向完全图权和网邻接顶点顶点的度路径和路径长度回路或环简单路径与简单回路连通、连通图和连通分量----无向图强连通图和强连通分量----有向图图的操作前言简单对比一下线性表、树 、图:从上图可以看出图结构是很复杂的,研究图结构的一个专门理论工具便是图论。图的基本概念图结构:顶点(Vertex):图中的数据元素。边...原创 2019-07-11 14:45:53 · 398 阅读 · 0 评论 -
数据结构概述
前言这是第一次开始写博客,目的是为了记录自己复习数据结构的情况。从这开始,会陆续将数据结构的知识整理一遍。数据结构简述数据: 数据是信息的载体,是计算机程序加工的“原材料”。数据元素: 是数据的基本单位。一个数据元素可以由若干数据项组成。数据项: 是组成数据元素的最小单位。例如:一条学生信息就是一个数据元素,学生学号、姓名等都是数据项。数据结构: 数据结构指的是数据之间的相互关系,即...原创 2019-07-01 09:33:56 · 305 阅读 · 0 评论 -
图的应用--最短路径
回到顶部原创 2019-07-15 10:37:14 · 411 阅读 · 0 评论 -
队列--循环队列与链队
队列逻辑结构:线性表存储结构:顺序存储\链式存储基本运算:初始化判断队空判断队满入队出队访问队头注意:队列也是线性表,其特殊性在于有特殊的运算规则。即:队结构只能在一端进行插入,该操作端称为队尾,另一端删除元素,该操作端称为队头。按照“先进先出”(First In First Out,FIFO)原则处理数据节点。1.循环队列之所以用循环对列,就是了为了提高利用率。...原创 2019-07-05 11:12:45 · 489 阅读 · 0 评论 -
图的应用--最小生成树
文章目录最小生成树普利姆(Prim)算法辅助数组普利姆(Prim)算法具体代码:运行结果:克鲁斯卡尔(Kruskal)算法克鲁斯卡尔(Kruskal)算法具体代码:运行结果:最小生成树在一个连通网的所有生成树中,各边的代价之和最小的那颗生成树称为该连通网的最小代价生成树,简称为最小生成树。最小生成树主要有两种算法,普利姆(Prim)算法 && 克鲁斯卡尔(Krusk...原创 2019-07-14 12:17:29 · 3987 阅读 · 0 评论 -
栈的应用--数值转换与表达式求值
1.数值转换原理大家肯定都知道,就除K取余,直到商为0时,倒序输出余数即为转换后的K进制数。一说倒序,就很符合栈(Last In First Out,LIFO)“后进先出”的思想。这个简单,直接上代码:#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAX 100//定义栈的最...原创 2019-07-04 13:02:05 · 503 阅读 · 0 评论 -
栈--顺序栈与链栈
栈逻辑结构:线性表存储结构:顺序存储\链式存储基本运算:初始化判断栈空判断栈满入栈出栈取栈顶元素注意:栈也是线性表,其特殊性在于有特殊的运算规则。即:栈结构只能在一端进行操作,该操作端称为栈顶,另一端称为栈底。按照“后进先出”(Last In First Out,LIFO)原则处理数据节点。1. 顺序栈顺序栈的定义typedef struct stack...原创 2019-07-03 14:40:23 · 379 阅读 · 0 评论 -
哈弗曼编码与译码
文章目录哈弗曼树定义:特点:哈弗曼树的构造算法哈弗曼算法的实现哈弗曼的存储表示构造哈弗曼树哈弗曼不等长编码哈弗曼译码总的代码:运行结果:哈弗曼树定义:假设有m个权值{w1,w2,…wm},可以构造一颗含n个叶子结点的二叉树,每个叶子结点的权重为wi,则其中带权路径长度WPL最小的二叉树称为最优二叉树或哈弗曼树。特点:权值越大的结点离根节点越近。根据这个特点可以构造哈弗曼树。...原创 2019-07-08 11:31:23 · 682 阅读 · 0 评论 -
链表--学生信息管理
链表结构逻辑结构:线性表存储结构:链式存储基本运算:1. 初始化2. 查找节点3. 插入节点4. 删除节点5. 创建单链表准备数据其中,节点包含两部分的内容:数据域: 保存该节点的实际数据。指针域: 保存的是下一节点的地址。struct Student //学生结构{ char Name[10]; //姓名 int No; //学号 float S...原创 2019-07-02 13:00:44 · 777 阅读 · 0 评论 -
数据结构复习整理目录
文章目录数据结构数据结构回到顶部原创 2019-07-16 13:36:52 · 350 阅读 · 0 评论