
数据结构
文章平均质量分 69
sinat_41617828
这个作者很懒,什么都没留下…
展开
-
Linux C 数据结构—排序
Linux C 数据结构—排序一.排序概述二.快速排序三.选择排序: 一.排序概述 排序方式:(内排序) 插入排序 --> 直接插入排序、链表插入排序、 折半插入排序。 交换排序 --> 起泡排序、快速排序。 选择排序 归并排序 基数排序 影响排序效率的因素:比较的次数、数据移动的次数: 如果选用 比较次数少 的排序方式: 折半插入排序。 选用 数据移动次数少 的排序方式: 链表...原创 2020-02-06 22:38:56 · 170 阅读 · 0 评论 -
Linux C 数据结构—树
Linux C 数据结构—树一.树概述二.示例代码:链式存储 一.树概述 树(Tree)是n(n≥0)个节点的有限集合T,它满足两个条件 : 有且仅有一个特定的称为根(Root)的节点; 其余的节点可以分为m(m≥0)个互不相交的有限集合T1、T2、……、Tm,其中每一个集合又是一棵树,并称为其根的子树(Subtree)。 树、子树、森林。 父节点、子节点、兄弟节点、堂兄弟节点、叶节点(度...原创 2020-02-06 22:43:02 · 303 阅读 · 0 评论 -
Linux C 数据结构—查找
Linux C 数据结构—查找一.查找概述二.顺序查找三.折半查找四.分块查找五.Hash表(又称为散列表)方法一: 直接地址法。 示例如下:方法二: 叠加法: 示例如下:方法三: 质数除余法: 示例如下:六. 练习 一.查找概述 顺序查找: 编程简单。数据量不太多时,数据没有顺序。 折半查找: 必须是有序数据。 效率较高,比较次数少。 分块查找: 块内无序、块间有序。 块间查找可以使用顺...原创 2020-02-06 22:34:34 · 349 阅读 · 0 评论 -
Linux C 数据结构—队列
Linux C 数据结构—队列一.队列特点二.队列示例代码 一.队列特点 先进先出的线性表。 允许在两端进行插入和删除的线性表。 一端负责插入数据(入队。使用 rear 队尾指针),另一端负责删除数据(出队。使用 front 队头指针) 二.队列示例代码 #include <stdio.h> #include <stdlib.h> #define MAX 6 typed...原创 2020-02-06 22:19:59 · 207 阅读 · 0 评论 -
Linux C 数据结构—栈
Linux C 数据结构—栈一.栈的特点二.栈代码示例 一.栈的特点 只允许在一端进行插入和删除操作的线性表,又叫堆栈。 栈顶:能操作的一端。 栈底: 固定的一端。 特点:FILO 或 LIFO (last in first out) 二.栈代码示例 #include <stdio.h> #include <stdlib.h> typedef struct { int ...原创 2020-02-06 22:17:34 · 229 阅读 · 0 评论 -
Linux C 数据结构—链表
Linux C 数据结构—线性表 链表特点: 优势:链式存储,可以很好的解决以上问题 缺点: 一片连续的空间,成片移动的现象,数据个数固定 链表结构: 每个数据块称之为一个节点,包含: 数据域、指针域。 数据域: 存放数据。 指针域: 存放下一个数据的地址。 链表分类: 单向链表、双向链表、单向循环链表、双向循环链表。 //完整版代码 #include <stdio....原创 2020-02-06 21:54:35 · 287 阅读 · 0 评论 -
Linux C 数据结构—线性表
Linux C 数据结构—线性表 顺序表特点: 优势: 存储密度高,可以随机存取。 缺点: 1) 要求系统可以提供一片连续的存储空间, 2) 会出现成片移动的现象。 3) 数据的个数固定。 #include <stdio.h> #define MAX 16 typedef int data_t; typedef struct { data_t data[MAX]; ...原创 2020-02-06 21:28:23 · 128 阅读 · 0 评论