随笔分类 -  练习题

简单的编程小练习
摘要:* 使用一个数组来实现三个栈: * 这个问题是数组实现一个栈的升级版本, * 一个数组实现两个栈比较的简单,可以从数组的两端到中间,也可以从中间到两端,以至于实现三个四个五个栈都行,关键是要记住栈的开始处,当栈的容量不够时做好调整 * 就单单对这个问题而言,一个数组实现三个栈又有一下两种处理方式: 阅读全文
posted @ 2017-03-29 20:24 zhangoliver 阅读(623) 评论(0) 推荐(0)
摘要:栈,是比较基础,应用比较广的一种数据结构,栈和队列都可以看成是比较特殊的一些链表,其最突出的特性就是先进后出。虾米阿尼是一个比较常见的中缀表达式求值的应用,当然中缀式到后缀式的转化也是可以实现的。 中缀式,这个我们不陌生平时大家写的式子就是中缀式的,比如2*(3-1)+(5+6)/9 后缀式,主要考 阅读全文
posted @ 2017-03-24 21:37 zhangoliver 阅读(2307) 评论(0) 推荐(0)
摘要:初次听说java中的函数对象可能,比较的陌生。可以类比着来理解一下,人们常说java中没有了指针,殊不知,java中的对象引用就是指针,有时候我们说一个对象往往指的就是这个对象的引用,也就是说基本上把对象的引用很对象等同了。比如Integer a = new Integeer(3);我们说定义了一个 阅读全文
posted @ 2017-03-21 16:05 zhangoliver 阅读(7687) 评论(0) 推荐(0)
摘要:这个问题总的栈和队列,没有自己手写,自己手写太浪费了,于是就用的java中的集合框架list下面的LinkedList 其实LinkedList既可以当做栈用,也可以当做队列来使用. 作为栈的时候,LinkedList<T> stack = new LinkedList<T>().入栈stack.p 阅读全文
posted @ 2017-03-19 20:52 zhangoliver 阅读(863) 评论(0) 推荐(0)
摘要:堆排序是排序的一种,一般有大根对和小根堆之说,大根对,根节点的值比左右子树的根节点的值要大。建堆我们一般是一个完全二叉树。堆排序一般面向数据量比较大的时候,数据量比较小的时候,不适合使用堆排序,比如有种情况就是topN算法的实现,一般都是借助于一个大根对来实现,扫描海量数据,把海量数据中的把最大的前 阅读全文
posted @ 2017-03-19 15:37 zhangoliver 阅读(419) 评论(0) 推荐(0)
摘要:比较愚蠢但是很好理解的一种方法 阅读全文
posted @ 2017-02-28 16:03 zhangoliver 阅读(522) 评论(0) 推荐(0)