- 博客(12)
- 收藏
- 关注
原创 插入排序
插入排序是一种直观的排序方法,基本思想是每次把一次待排序的记录插入到已经排好序的子序列中去,知道全部的元素都插入到子序列中。由插入的思想的不一致可以将插入排序分为两种重要的排序算法:直接插入排序和希尔排序。
2017-08-13 16:39:48
304
原创 哈希表
哈希表也叫散列表,是一种空间换时间的做法。哈希表是根据关键字直接进行访问的数据结构,通过某种规则把关键字映射到数组中的某一个位置,加快查找速度,映射规则就是哈希函数(三列函数),如果多个不同的关键字通过哈希函数后散列到数组的相同位置就是冲突。 常用的散列函数有直接定址法,数字分析法,平凡取中法,除留余数法,折叠法。
2017-08-13 13:44:30
272
原创 二分查找
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。
2017-08-12 22:10:16
330
原创 最大公共子串问题
找两个字符串的最长公共子串,这个子串要求在原字符串中是连续的。而最长公共子序列则并不要求连续,即LCS问题,在之前的博客中有涉及。
2017-02-24 14:48:32
320
原创 LCS问题
LCS问题是最长公共子序列问题,它不要求所求得的字符在所给出的字符串中是连续的。LCS是一道非常经典的动态规划问题。 ,LCS问题是最长公共子串的求解问题。
2017-02-23 21:48:41
1749
原创 饿了么2017机试编程题
题目描述: 去哪儿网举办某活动,每天积极抢单的司机可以获得额外的收入,因为司机众多,抢单行为不受控制,因此 要防止某些司机作弊,我们把作弊规则定义如下:每天抢单次数比当天所有司机抢单次数和还要多,那么这 个司机就是作弊,那么问题来了,怎么用简单的方法找到作弊的司机。
2016-09-22 09:34:31
1009
原创 平衡二叉树(AVL)
平衡二叉树(Balanced Binary Tree)是二叉树的一个进化体,由于它是由G.M. Adelson-Velsky 和 E.M. Landis于1962年发明的,因此也被称为AVL树。AVL-Tree是指在一棵树中任意一个节点其左右子树的高度差最多为1。本文包含了平衡二叉树的插入删除和查找等。
2016-09-12 21:04:33
437
原创 红黑树
> 红黑树 红黑树(RB-Tree)是一种平衡二叉搜索树,虽然在本科的教材中对于红黑树讲解的内容很少,但是是一种被广泛应用的平衡二叉树,也是SGI STL唯一实现的一种搜索树,作为关联式容器的底部机制之用。在C++ STL中,很多部分(包括set, multiset, map, multimap)应用了红黑树的变体(SGI STL中的红黑树有一些变化,这些修改提供了更好的性能,以及对set
2016-09-12 20:31:25
600
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人