数据结构与算法
文章平均质量分 79
小舒童鞋
非常沉默,非常骄傲,从不依靠,从不寻找。
展开
-
计算两个字符串的距离
这道题是前几个月Google笔试的最后一道题,当时写的不好,有些细节没写出来,现在整理写一下。题目描述:对于不同的字符串,希望能够有办法判断其相似程度。定义了如下方法来把两个不同的字符串变得相同,具体的操作方法为:1. 修改一个字符 (如把"a"替换为"b")2. 增加一个字符 (如把"abc"变换为"aabc")3. 删除一个字符 (如把"abc"变换为"转载 2014-06-09 10:57:54 · 568 阅读 · 0 评论 -
排序算法的时间复杂度和空间复杂度
常用的内部排序方法有:交换排序(冒泡排序、快速排序)、选择排序(简单选择排序、堆排序)、插入排序(直接插入排序、希尔排序)、归并排序、基数排序(一关键字、多关键字)。一、冒泡排序: 1.基本思想:两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。 2.排序过程:设想被排序的数组R[1..N]垂直转载 2015-03-13 15:00:17 · 638 阅读 · 0 评论 -
用栈实现表达式运算
1 算法思想所包含的运算符有‘+’,‘-’,‘*’,‘/’,‘(’,‘)’。(1)建立两个栈,一个用来存储操作数,另一个用来存储运算符,开始时在运算符栈中先压入‘/0’,一个表达式的结束符。(2)然后从左至右依次读取表达式中的各个符号(操作数或者运算符);(3)如果读到的是操作数直接存入操作数栈;(4)如果读到的是运算符,则作进一步判断:若读到的是‘/0’结束符,而且此时运原创 2015-03-18 16:53:26 · 5652 阅读 · 1 评论 -
【数据结构-trie树】trie数实现单词查询和单词统计
1.键树的定义: 键树又叫“数字查找树”。深度>=2 . 树中的每个节点一般不是直接包含关键字,而是包含组成关键字的符号(当然叶子节点除外,叶子节点可能包含整个单词以及词频,非叶节点也可包含单词和词频)。根据存储结构的不同,又分为双链树和多重链表树。或者就是常说的“Trie树”,取自检索“retrieve”中间的四个单词。因此也被称为检索树。Trie树的每个节点含有d个指针域(d为关转载 2015-03-18 21:19:19 · 582 阅读 · 0 评论 -
字符串匹配KMP算法
所谓的字符串匹配是指在一个字符串S中找出另外一串字符串P的位置。 1 字符串匹配简单算法字符串匹配简单算法是指,从正文S和模式P的第一个字符出发,将S和P的字符依次逐个进行比较,如果模式P中所有的字符都与S中的字符串匹配完,则说明在正文S中找到了模式P的字符串,返回位置就可以了,如果没有匹配完成,则将模式P沿着正文S向后移了一个位置,再从模式P的第一个字符开始以此进行比较,如果没有找原创 2015-04-02 15:56:48 · 490 阅读 · 0 评论