随笔分类 -  算法心得

一些算法自己实现后的心得体会。
摘要:计算器求值的常规解法是使用栈分别保存操作数和操作符,具体代码如下 // 这里是开头 // 这里是结尾 栈求解表达式 这种结构的实现可以满足一定复杂度的运算符,我们刚刚接触栈的时候都会自己实现以下这种表达式的运算方式。 本篇博客要介绍的是另外一种实现这种表达式计算的方法 使用表达式树 首先来介绍以下什 阅读全文
posted @ 2017-04-13 14:39 gukz 阅读(1322) 评论(0) 推荐(0)
摘要:数组是一种很常用的数据结构,我们常常需要对数组做各种各样的操作,数组的优点是随机存储获取数据的复杂度是O(1),缺点是容量固定,扩容成本比较大。 在这里考虑一种数组的应用需求,假设有一个数组,里面有很多数据,有一些数据是我们想要去除的,比如0、或者某个特定的数。怎样高效、优雅的实现呢? 来看下实现过 阅读全文
posted @ 2017-03-05 22:54 gukz 阅读(751) 评论(0) 推荐(0)
摘要:1.什么是快速排序 快速排序的意思就是说,对于一个数组,随机从数组中选取一个值,然后将数组里的其他值与选中的值进行比较,小于选中的值的放在左侧,大于选中的值的,放在右侧。将选中的数放在中间。对于左边和右边的部分分别重复这个过程直到每次处理一个或者两个值,全部结束后认为排序完成。 2.算法实现 一般情 阅读全文
posted @ 2017-02-26 22:52 gukz 阅读(1544) 评论(0) 推荐(0)
摘要:问题回顾: 现在一共有n阶楼梯,你可以一次跨1节楼梯,也可以一次跨2节,给出跨n节楼梯的总的方法数。1<=n<=50. 例1: 输入: 5 输出: 8 例2: 输入: 1 输出: 1 我自己写了一个程序,结果前38节楼梯的结果都是对的,从第39节楼梯开始出错。不知何故? 我的程序: #include 阅读全文
posted @ 2016-06-05 18:57 gukz 阅读(672) 评论(0) 推荐(0)