Data Structure 之 二叉树
摘要:在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。 二叉树的...
阅读全文
posted @
2015-04-23 10:10
Now,DayBreak
阅读(523)
推荐(0) 编辑
Data Structure 之 KMC字符串匹配算法
摘要:有关模式函数值next[i]确实有很多版本啊,在另外一些面向对象的算法描述书中也有失效函数 f(j)的说法,其实是一个意思,即next[j]=f(j-1)+1,不过还是next[j]这种表示法好理解啊: KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间...
阅读全文
posted @
2015-04-22 17:11
Now,DayBreak
阅读(509)
推荐(0) 编辑
常用算法稳定性分析
摘要:排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前两个相等的数据其在序列中的先后位置顺序与排序后它们两个先后位置顺序相同。即:如,如果A i == A j,Ai 原来在 Aj 位置前,排序后 Ai仍然是在 Aj 位置前。1、简单总结 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法 ...
阅读全文
posted @
2015-04-21 15:54
Now,DayBreak
阅读(4473)
推荐(1) 编辑
Data Struture 之 指针
摘要:指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。一、指针的基本概念 在计算机中,所有的数据都是存放在存储器中的。一...
阅读全文
posted @
2015-04-17 17:08
Now,DayBreak
阅读(441)
推荐(0) 编辑
Data Structure 之 算法设计策略
摘要:1. 穷举法 基本思想:列举问题的所有可能解,并用约束条件逐一进行判定,找出符合约束条件的解。 穷举法的关键在于问题的可能解的列举和可能解的判别。 例如:凑数问题2. 递归技术 定义:直接或间接调用自身的过程 递归三要素: (1)问题形式:返回结果是什么?需要哪些入口参数? (2)递归规...
阅读全文
posted @
2015-04-14 15:21
Now,DayBreak
阅读(432)
推荐(0) 编辑
Data Structure 之 最优二叉树
摘要:给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。 最优二叉树的总结点数为 2n - 1。1、路径和路径长度 在一棵树中,从一个结点往下可以达到的孩子...
阅读全文
posted @
2015-04-14 14:10
Now,DayBreak
阅读(422)
推荐(0) 编辑