![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
旁观者的角度
这个作者很懒,什么都没留下…
展开
-
BST树(Binary Search Tree)二叉搜索树
BST树为典型的数据结构,广泛应用于数据群的管理上,如原创 2014-06-05 22:42:52 · 2241 阅读 · 0 评论 -
数据压缩之贪心算法-赫夫曼编码
从压缩谈起原创 2014-05-26 16:39:44 · 3368 阅读 · 0 评论 -
哈希表(HashTable)的开放定址法和链地址法的实现
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。引用(百度原创 2014-07-19 18:26:09 · 10944 阅读 · 1 评论 -
单链表全部算法
本篇纯粹体现链表各种操作的具体代码实现,废话不多说,直接原创 2014-05-30 19:41:54 · 1090 阅读 · 0 评论 -
表达式求值
例如表达式:(8-(5+2))*(4/2),怎样编程实现表达式的求值呢?我们可以用二叉树这样的数据结构来实现,相应的树形结构形状如下:原创 2015-03-03 18:12:51 · 518 阅读 · 0 评论 -
二叉树的算法操作笔记
typedef struct BiNode{ char ch; struct BiNode*left; struct BiNode*right;}*BiTree;/* 先序建立一颗二叉树 */void CreateBiTree(BiTree&T){ char ch; scanf("%c", &ch); if (ch == Nil){原创 2015-03-05 12:57:45 · 559 阅读 · 0 评论 -
C/C++字符串分割
C/C++语言用于字符串分割的函数 * count: 分割后的字符串长度 * limit: 分割多少次char ** strsplit(char *line, char delimeter, int *count, int limit){ char *ptr = NULL, *str = line; char **vector = NULL; *count = 0;原创 2015-08-27 12:03:03 · 514 阅读 · 0 评论 -
归并排序
归并的过程就是将两个有序的数组合并成一个有序的数组,要想要有有序的子数组必将先递归拆分数组,知道子数组有一个元素为止,这样就是有序的了,然后将相邻两个子数组依次合并就是归并排序。void __merge_sorted_array(int arr[], int l, int m, int r, int tmp[]) { int i = l, j = m + 1; int k = 0;原创 2016-12-31 16:19:29 · 404 阅读 · 0 评论 -
快速排序
void quick_sort(int arr[], int l, int r) { if(l < r) { int i = l, j = r; //选择第一个数为基准数 int x = arr[l]; while(i < j) { while(i < j && arr[j] > x)原创 2016-12-31 23:00:27 · 371 阅读 · 0 评论