数据结构
mango660
这个作者很懒,什么都没留下…
展开
-
贪心算法
贪心算法介绍: 贪心算法推荐博客 简言总结: 局部最优,即将问题划分成n个子问题,每个子问题在求解过程中取最优解 必须每一步都满足约束条件 应用 找硬币问题 设有 四种硬币,贰角伍分,一角,五分,一份 求找 六角三分钱 约束条件:数量最少 活动安排问题 最优装载问题 单源最短路径 最小生成树 多机调度问题 后续补充 ...翻译 2020-06-18 10:24:31 · 99 阅读 · 0 评论 -
顺序表中元素的移动
简单移动 例:设数据集合Data中有若干个整型数据: Data = {10, 20, 30, 40, 50, 60, 70}; 要求:讲第一个数据元素移至顺序表的最后 过程: x = a[0] 0 ~~ n - 2 a[j] = a[j+1] a[j] = x 代码 C代码 #include <stdio.h> #define N 10 int main(void) { int a[N]; int i, temp; for(i = 0; i < N; i ++) sc原创 2020-06-16 21:02:18 · 813 阅读 · 0 评论 -
顺序表的删除
情况一:数据集合无重复值 设有数据集合 Data = { 3, 2, 5, 8, 4, 7, 6, 9}, 无序且不重复 目标 给定key值,在 Data 中删除 解决 第一步:查找 key 第二步:判断是否找到 找到,则进行删除 未找到 代码(个人推荐第三种盒第四种) main函数部分 int main(void) { int a[8] = {3, 2, 5, 8, 4, 7, 6, 9}; int key, n; key = 7; n = DelKeyNode(a, 8,原创 2020-06-03 17:53:44 · 307 阅读 · 0 评论 -
线性表
君子美美与共和而不同 文章目录术语数据(Date)数据元素(Date Element)数据结构逻辑结构物理结构衡量标准线性表定义:表示数据集合中数据的逻辑关系表示举例特点:非终端元素顺序表(线性表的顺序存储结构)定义实现顺序表声明连续的存储单元(数组)动态数组例: 术语 数据(Date) 存储在某种介质上 可以被识别 物理符号 要素: 型(Type) 值(Value) 数据元素(Date Element) 识别信息的基本组成单位 若干个数据的集合 用来表示现实世界的一个完整信息原创 2020-05-12 21:09:09 · 109 阅读 · 0 评论 -
查找——顺序查找、二分查找、散列查找
二分查找 条件1:经过排序的数据集合 条件2:只适合于顺序存储的数据结构 设有数据集合 {5,13,17,42,46,55,70,94} 元素 5 13 17 42 46 55 70 94 下标 0 1 2 3 4 5 6 7 表示 low high 查找94 (0+7 )/ 2 = 3 ----> a[3] < key (4+7) / 2 ...原创 2020-05-05 20:19:09 · 1429 阅读 · 0 评论 -
十大排序算法动图详解
思想也只是支点,行动才是撬起地球的杠杆 文中所有排序均采用C语言,均按从小到大排序,即升序排列 89101234567排序算法比较类排序非比较类排序交换排序选择排序插入排序归并排序计数排序基数排序冒泡排序快速排序直接选择排序桶排序堆排序直接插入排序希尔排序二路归并排序多路归并排序LSDMSD 文章目录冒泡排序(Bubble Sort)动图演示算法步骤代码实现算法分析快速排序(QuickSort)动...原创 2020-04-28 17:06:39 · 899 阅读 · 1 评论 -
数据结构——栈
文章目录栈(stack)栈的定义进栈出栈变化形式栈的抽象数据类型栈的顺序存储结构(顺序栈)进栈操作出栈操作两栈共享空间入栈出栈栈的链式存储结构(链栈)进栈操作出栈操作栈的作用栈的应用递归递归的定义Fibonacci数列的实现Hanoi 塔问题爬楼梯四则运算表达式求值后缀(逆波兰)表示法中缀表达式转后缀表达式计算机处理标准表达式步骤 栈(stack) 栈的定义 栈是限定仅在表尾进行插入和删除操作的...原创 2020-03-17 23:57:37 · 170 阅读 · 0 评论 -
线性表
文章目录线性表的定义线性表的抽象数据类型线性表的顺序存储结构顺序存储定义:顺序存储方式地址计算方法顺序存储结构的插入和删除获得元素操作插入操作删除操作线性表顺序存储结构的优缺点线性表的链式存储结构单链表静态链表循环链表双向链表 线性表的定义 线性表(List):零个或多个数据元素的有限序列。 注意: 1:它是一个序列 2:有限的 判断方法:若元素存在多个,则第一个元素无前驱,最后一个元...原创 2020-03-13 23:03:24 · 179 阅读 · 0 评论 -
C语言——结构体、动态存储分配、链表
文章目录结构体引入结构体定义结构的一般形式:结构体变量的引用结构体变量的初始化结构体数组指向结构体类型数据的指针结构指针变量作函数参数将一个结构体变量的值传递给另一个函数,有一下方法:动态存储分配常用的内存管理函数:malloc 函数 结构体 引入结构体 问题定义:将不同类型的数据组合成一个有机整体 举例:学生(学号、姓名、性别、年龄、地址)等属性: struct { int num; cha...原创 2020-03-10 22:05:25 · 1232 阅读 · 0 评论 -
数据结构——树
树 二叉树 特殊形态的二叉树:满二叉树、完全二叉树 二叉树的遍历 1):前序遍历 如果当前遍历的节点不为空 输出这个结点 进入它的左孩子 进入它的右孩子 2):中序遍历 如果当前遍历节点不为空 进入它的左孩子 输出这个节点 进入它的右孩子 3):后序遍历 如果当前遍历节点不为空 进入它的左孩子 进入它的右孩子 输出这个的结点 4):层序遍历 相关习题 1) Pre: ABCDEFG...原创 2020-02-02 18:34:19 · 93 阅读 · 0 评论