算法C语言实现
文章平均质量分 89
本专栏涉及大多数经典算法及其实现。指针和递归算法,链表、栈、队列、哈希表、、堆、图等常用数据结构进行了深入阐述;对排序、搜索、图算法等经典算法进行了分析和讲解。
有时需要偏执狂
一定要搞懂,千万不要心存侥幸,否则一些问题会让你痛苦不堪(源码面前,了无秘密)。
拥有一某三分地不容易,贵在坚持。
展开
-
数据结构与算法关系及其分析
简单关系 算法描述一种有限、确定、有效的并适用于计算机程序来解决问题的方法。大多数的算法都需要适当的组织数据,而为了组织数据就产生了数据结构。所以说实现一个良好的算法,不仅需要良好的思想还需要对应良好的数据结构。时间复杂度和空间复杂度 具体的推倒过程真的没有必要去理解,我们只要可以通过感性的去理解,当算法输入数据量巨大的时候,可以通过一个简单的表达式表示算法的效率即可,毕竟我...原创 2017-10-23 10:38:04 · 825 阅读 · 0 评论 -
数据结构之数组
数组可以说是最简单的一种数据结构,它占据一块连续的内存并按照顺序存储数据。创建数组时,我们需要首先指定数组的容量大小,然后根据大小分配内存。即使我们只在数组中存储一个数字,也需要为所有的数据预先分配内存。因此数组的空间效率不是很好 , 经常会有空闲的区域没有得到充分利用。 深入理解数组题目1、二维数组中的查找 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按...原创 2018-03-12 14:14:32 · 1015 阅读 · 0 评论 -
数据结构之链表
链表:将很多块内存区域通过指针的形式连接起来。其中在每块没存区域都存储了上一块数据或者下一块数据的地址,链表的优点在于删除元素和添加元素都非常快速。为了写出鲁棒性好的程序,防御性编程很重。对于指针必须考虑当指针为空的情况,对于字符串考虑内容为空的情况。对于链表的题目大多数都是通过遍历解决的。理解链表的练习题1、求单链表中的倒数第k个节点 输入一个键表,输出该链表中倒数第k个...原创 2018-03-05 14:41:12 · 1070 阅读 · 0 评论 -
数据结构之栈和队列
占位原创 2018-03-05 14:42:08 · 211 阅读 · 0 评论 -
数据结构之树
https://blog.csdn.net/xiaominkong123/article/details/51567437 https://www.cnblogs.com/gl-developer/p/7259251.html https://www.cnblogs.com/fly-me/p/wei-ti-jiaoer-cha-shu-de-si-zhong-bian-li-fang-fa.h...原创 2018-03-05 14:41:45 · 539 阅读 · 0 评论 -
数据结构之字符串
字符串算法简介字符串排序键索引计数法应用领域: 1、通过字符串一个字符排序。 2、将全班同学按组分类。 3、通过地区码排序电话号码。 这是一种用于小整数键的排序方法。只需要理解下面的实际问题即可理解键索引计数法排序。 对于ASCII字符,我们可以直接用ASCII对应的数值作为键,初始化count数组,然后在数组里面记录,每一个ASCII字符出现的次数...原创 2017-12-24 21:57:41 · 723 阅读 · 0 评论 -
数据结构之哈希表
占位原创 2018-03-05 14:42:50 · 317 阅读 · 0 评论 -
算法之经典排序算法
基本排序算法选择排序 首先,找出数组中的最小元素,并用首位的元素与它交换。然后,从后面找出次大元素,并用第二个位置的元素与它变换。重复此步骤,直到排序完整个数组。这个方法称做选择排序(selection sort),因为它重复性地选择剩余元素中的最小元素来完成排序。插入排序 人们通常排列扑克的方法是一次考虑一张牌,将它插入到已经排序过的牌的适当位置中(时刻保持...原创 2017-11-03 19:12:37 · 811 阅读 · 2 评论 -
算法之经典查找算法
符号表 现代计算机和网络使得我们可以访问检索海量的信息。这些信息都存储在符号表(一个抽象的表格)中。实现一张高效的符号表,就是实现高效的查找插入任务。可以利用三种经典的数据结构:二叉查找树,红黑树,散列表实现符号表。 符号表:存储键值对(键和值根据不同应用可以不同)的数据结构,支持插入(一组新的键值存入表)和查找(通过给定键获取对应的值)。 有序符号表:符号表中数据...原创 2017-11-09 19:10:40 · 1962 阅读 · 1 评论 -
算法之经典图算法
图介绍 图:是一个顶点集合加上一个连接不同顶点对的边的集合组成。定义规定不允许出现重复边(平行边)、连接到顶点自身的边(自环),定义了一个简单图。 自环:连接到顶点自身的边。 平行边:连接同一对顶点的两条边,含有平行边的图称为多重图。 顶点的度数:依附于它的边的总数。 顶点连通:两个顶点之间存在一条连接双方的路径。 连通图:任意一个顶点都存在一条路径到达另一个...原创 2017-11-14 11:38:55 · 22313 阅读 · 6 评论 -
算法之经典算法思想
递归分治法动态规划参考: https://blog.csdn.net/lz161530245/article/details/76943991 https://blog.csdn.net/hrn1216/article/details/51534607 重点参考文章。 https://www.zhihu.com/question/23995189 知乎好的解释动态规...原创 2017-12-01 21:39:20 · 1562 阅读 · 0 评论