数据结构
文章平均质量分 66
数据结构中的知识点
Hugh_HZH
这个作者很懒,什么都没留下…
展开
-
【数据结构】常见的查找算法(C语言版)
前言 常见的查找算法有:顺序查找、二分查找、哈希查找、块查找。 一、顺序查找 最简单的一种查找算法,对待查找数据没有要求. 时间复杂度为: O(n) int order_search(int* arr,size_t len,int key) { for(int i=0; i<len; i++) { if(arr[i] == key) { return i; } } return -1; } 二、二分查找 效率比较高的一种查找算法,要求待查找数据有序。 时间复杂度: O(lo原创 2021-09-23 19:50:35 · 1371 阅读 · 0 评论 -
【数据结构】算法的介绍
一、算法的定义 广义: 解决特定问题的方法。 狭义: 数据结构具备的功能。 二、算法的特征 1.有穷性 2.确切性 3.输入项 4.输出项 5.可行性 三、算法的评定 (1)时间复杂度: 一个用于描述算法在执行时,随着输入参数数量的变化,而执次数发生变化的函数。 一般采用大O表示法:O(函数) 常见的时间杂度: 常数阶 O(1) 对数阶 O(logn) 线性阶 O(n) 线性对数阶 O(nlogn) 平方阶 O(n?) 指数阶 O(2^n) (2)空间复杂度: 一个用于描述算法在执行时,随着输入参数数量的变原创 2021-09-23 19:32:36 · 209 阅读 · 0 评论 -
【数据结构】树的介绍
一、树型结构: 元素之间存在一对多关系的数据结构,适合存储具有层次关系的数据模型,如:文件树、组织关系、族谱。 二、树的相关术语: 根结点:树的最顶层结点,一棵树最多只有一个根结点。 双亲结点、父结点:结点的上一层结点,一个结点只有唯一一个双亲结点。 子结点:结点的下层结点,可以有若干个。 叶子节点:没有子结点的结点。 树的高度:树的层数 树的密度:树的结点数量 三、树的种类: 普通树:只有一个双亲结点,子结点的数量任意。 二叉树:一个结点最多有两个孩子。 B树:多路平衡查找树, 多路:原创 2021-09-20 15:56:21 · 131 阅读 · 0 评论 -
【数据结构】十大排序算法(C语言版)
前言: 十种比较经典的排序算法: 冒泡,选择,插入,希尔,堆,快速,归并,计数,基数,桶。 每种算法在一定环境下各有各的优越性,需要根据数据的分布状况进行合理选择。 排序算法的稳定性: 当待排序的数据中有相同的数据,排序算法是否会更改它们的前后关系,不会更改的叫稳定排序,可能会更改的叫不稳定排序。 一、冒泡排序 特点: 对数据的有序性敏感 是否稳定: 稳定 平均时间复杂度: O(n) O(n^2) 空间复杂度: O(1) void bubble_sort(int* arr,size_t len) { bo原创 2021-09-22 22:22:28 · 531 阅读 · 0 评论 -
【数据结构】图的介绍
一、图、树、表的区别 表结构:数据元素之间存在线性关系,每个数据元素只可能有一个前驱和一个后继(一对一)。 树结构:数据元素之间存在层次关系,上一层的数据元素可以和下一层的多个数据元素存在关系(一对多)。 图结构:任意两个数据元素之间都可能存在关系,可以是多对多的关系。 二、图的相关术语 1.顶点:在图型结构中,数据元素被称为顶点。 2.弧:从顶点V1出发,可以到达顶点V2,这种关系被称为弧,用<V1,V2>表示,V1被称为弧尾, V2被称为弧头,这种图被称为有向图。 3.边:从顶点V原创 2021-09-21 23:04:33 · 606 阅读 · 0 评论