- 博客(3)
- 收藏
- 关注
原创 二分查找法和Fibonacci查找
一、简要介绍二分查找算法 二分查找算法(Binary Search)是一种非常经典且有用的查找算法,它适用于有序数组的元素查找,并且思路简单,能够用非常简洁的代码来将其实现,经典版本的二分查找算法最优情况下的时间复杂度为O(1),最坏情况下的复杂度为O(lgN),平均时间复杂度也仅为O(lgN)。 在时间复杂度上更加优秀的算法不是太多,如hash table通过空间换时间的得到...
2018-06-13 20:05:49
827
原创 用两个栈实现一个队列
本文主要参考了简明现代魔法的数据结构专题一、栈1.1栈的接口一个栈主要的接口有如下几个:stack.push() 将一个元素压入栈中stack.pop() 将一个元素弹出栈(设计者可以决定是否返回该元素,例如C++中的则不返回)stack.top() 访问栈顶元素stack.empty() 判断是否栈空,例如进行pop()操作需要检查栈是否为空,来确定操作是否合法stack...
2018-06-05 11:52:43
1803
原创 前缀表达式、中缀表达式、后缀表达式的区别
一、三者的概念(参考维基百科)1.1中缀表达式中缀表达式是符合人类直觉的一种表达方式,其特点是操作符(二元操作符)在中间,操作数在两侧。例如 3 + 4 , 5 - 6 * 7, (5 - 6) *7等。括号的存在会影响计算步骤的执行。1.2前缀表达式(又称波兰表达式)前缀表达式(以及后缀表达式)是符合计算机思维的一种表达方式。将1.1的几个中缀表达式转换成前缀表达式如下:+ 3 4 ...
2018-06-02 15:41:31
11817
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人