代码改变世界

随笔分类 - Data Structure

浅析前缀树

2017-10-02 17:19 by 星星之火✨🔥, 574 阅读, 收藏, 编辑
摘要:目录 1.引子 2.什么是前缀树 3.如何实现前缀树 4.高级用法 引子 嗯,先随便造一个海量问题。给你一个大文件,里面有10 亿个英文字母序列,每个长度不超过255,需要你对这些数据建模。之后随便丢一些字母序列给你,让你快速回应,判断给定的字符序列是否在上面给定的那个大文件中出现过。 现在假设你是 阅读全文

数据结构第三部分:树与树的表示、二叉树及其遍历、二叉搜索树、平衡二叉树、堆、哈夫曼树、集合及其运算

2015-06-20 20:14 by 星星之火✨🔥, 2803 阅读, 收藏, 编辑
摘要:参考:浙大数据结构(陈越、何钦铭)课件1、树与树的表示什么是树?客观世界中许多事物存在层次关系人类社会家谱社会组织结构图书信息管理分层次组织在管理上具有更高的效率!数据管理的基本操作之一:查找(根据某个给定关键字K,从集合R 中找出关键字与K 相同的记录)。一个自然的问题就是,如何实现有效率的查找?... 阅读全文

数据结构第二讲:线性结构

2015-06-15 15:48 by 星星之火✨🔥, 268 阅读, 收藏, 编辑
摘要:参考:浙大数据结构(陈越、何钦铭)课件1、线性表及其实现有一个很好的问题可以方便的说明引入链表的好处,那就是一元多项式:f(x) = a0 + a1x + an-1xn-1 + anxn 的表示及运算(两个多项式相加/相减/相乘等),显然我们可以利用数组来解决这个问题,两个多项式相加就是两个数组对应... 阅读全文

二叉树的创建。

2015-05-23 17:37 by 星星之火✨🔥, 64 阅读, 收藏, 编辑
摘要:崇尚简约与原始的思维路线:昨晚保存到Codehelp里的代码,现在粘贴过来,加深对递归的理解。源于此,省去了很多基本操作。模版代码://还原思维的本质,抛弃条条框框的限制,2013年12月5日 23:52:41,夜深了,睡(=-ω-)zzZZ# include # include # include... 阅读全文

数据结构第一讲:什么是数据结构

2015-05-04 09:04 by 星星之火✨🔥, 763 阅读, 收藏, 编辑
摘要:参考:浙大数据结构(陈越、何钦铭)课件数据结构定义?官方统一定义——没有......数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。——Sartaj Sahni数据结构是ADT(抽象数据类型Abstract Data Type)的物... 阅读全文

阶乘之和 & 程序运行时间 & 算法分析

2014-12-09 17:13 by 星星之火✨🔥, 424 阅读, 收藏, 编辑
摘要:实例:输入n,计算S = 1! + 2! + 3! + 4! + ... + n!的末六位(不含前导0)。其中 n ≤ 106。分析:考虑到数据溢出后程序如下:#include int main(void){ int n, i; int sum = 1; int factorial... 阅读全文

《数据结构与算法分析:C语言描述_原书第二版》CH3表、栈和队列_reading notes

2014-12-09 00:18 by 星星之火✨🔥, 299 阅读, 收藏, 编辑
摘要:表、栈和队列是最简单和最基本的三种数据结构。基本上,每一个有意义的程序都将明晰地至少使用一种这样的数据结构,比如栈在程序中总是要间接地用到,不管你在程序中是否做了声明。本章学习重点:理解抽象数据类型(ADT)的概念学习如何对表进行有效的操作熟悉栈ADT及其在实现递归方面的应用熟悉队列ADT及其在操作... 阅读全文

《数据结构与算法分析:C语言描述_原书第二版》CH2算法分析_课后习题_部分解答

2014-12-06 14:58 by 星星之火✨🔥, 3090 阅读, 收藏, 编辑
摘要:对于一个初学者来说,作者的Solutions Manual把太多的细节留给了读者,这里尽自己的努力给出部分习题的详解:不当之处,欢迎指正。1、 按增长率排列下列函数:N,√2,N1.5,N2,NlogN, NloglogN,Nlog2N,Nlog(N2),2/N,2N,2N/2,37,N2logN,... 阅读全文

仅使用处理单个数字的I/O例程,编写一个过程以输出任意实数(可以是负的)

2014-12-01 22:47 by 星星之火✨🔥, 2097 阅读, 收藏, 编辑
摘要:题目取自:《数据结构与算法分析:C语言描述_原书第二版》——Mark Allen Weiss 练习1.3 如题。补充说明:假设仅有的I/O例程只处理单个数字并将其输出到终端,我们将这个例程命名为PrintDigit;例如"PrintDigit(4)" 将输出一个"4"到终端。思路:根据先... 阅读全文

折半查找

2014-09-18 18:09 by 星星之火✨🔥, 1064 阅读, 收藏, 编辑
摘要:所谓折半查找,又称二分查找,是一种在有序数组中查找某一特定元素的搜索算法。优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元... 阅读全文

选择排序

2014-09-14 22:38 by 星星之火✨🔥, 287 阅读, 收藏, 编辑
摘要:Selection sort导言:(取自Wiki)Incomputerscience,selectionsortisasortingalgorithm,specificallyanin-placecomparisonsort.IthasO(n2)timecomplexity,makingitinef... 阅读全文

顺序查找

2014-09-13 19:03 by 星星之火✨🔥, 131 阅读, 收藏, 编辑
摘要:问题描述:一个结构体数组中存放的是学生的记录,每条记录包括:学号、姓名、成绩。该结构体数组中的内容如下表所示。 学生记录 --------------------------------------------- 学号 | 姓名 | 成绩 -------------------------... 阅读全文