摘要: /** * 1.先转换为逆波兰顺序 * 数字直接存入list,符号压入栈中,但是如果栈底元素不大于该运算符的运算顺序,则将栈底pop,直到大于栈底运算符为止,再压入栈中, * 最后将运算符依次全部pop(以上pop出的运算符存入list) * 2.根据逆序算出结果 * ... 阅读全文
posted @ 2015-09-24 20:44 stonesola 阅读(1071) 评论(1) 推荐(0) 编辑
摘要: 做一个空栈,读入字符直到结尾.如果读入一个封闭符号,空栈时报错;非空时弹出栈尾字符,如果不匹配则报错.否则读入为开放字符,压入栈中.最后如果栈空,返回true.其中用到MyStack类,详情请见 1 public class KuohaoJiancha { 2 private char []... 阅读全文
posted @ 2015-09-22 17:05 stonesola 阅读(2558) 评论(0) 推荐(0) 编辑
摘要: 1 public class MyStack { 2 private AnyType [] theItems; 3 private final int DEFAULT_CAPACITY = 100; 4 private int top; 5 6 7 public... 阅读全文
posted @ 2015-09-22 16:56 stonesola 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 1 public class MyLinkedList implements Iterable { 2 @Override 3 public Iterator iterator() { 4 return new LinkedListIterator(); ... 阅读全文
posted @ 2015-09-19 13:52 stonesola 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 最近在《数据结构与算法分析(java版)》中看到了实现ArrayList的简易代码,亲自做了一下.个中的疑点还是在代码中实现了一下.其中就包括内部类Iterator对外部成员访问的问题. 1 private class MyIterator implements Iterator { 2 3 ... 阅读全文
posted @ 2015-09-12 19:27 stonesola 阅读(1242) 评论(0) 推荐(0) 编辑
摘要: 一.while条件:while(low val2,return 1;三.注意low = center + 1和high = center - 1; 1 public class BinarySeacher { 2 public static final int NOT_FOUND = -1... 阅读全文
posted @ 2015-09-10 19:54 stonesola 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 2.设T1(N)=O(f(N)),T2(N)=O(f(N)),则:T1(N)-T2(N)=o(f(N)) False,若1位2N,2为NT1(N)/T2(N)=O(1) False,为常数而不是1.7.分析时间复杂度(1)for(i:0~n){for(j:0~i)}该循环的复... 阅读全文
posted @ 2015-09-10 19:51 stonesola 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 实现的MyArrayList实为顺序表结构,其中要实现Iterable时必须在内部实现Iterator,即为该表的迭代器. 1 public class MyArrayList implements Iterable { 2 @Override 3 public Iterat... 阅读全文
posted @ 2015-09-09 20:24 stonesola 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 对于求最大子序列之和,对于我这样的菜鸟,首先想到的应该是最暴力的方法,就是将所有的子序列的和进行比较,然后出现最大值并返回答案。不过这也没啥意思,复杂度O(N2).对这个问题,有一个相对复杂的O(NlogN)的解法,就是使用递归。其主要思想是:比较左、右、中间三部分的序列和的大小,因为中间部分是没办... 阅读全文
posted @ 2015-09-09 19:03 stonesola 阅读(7329) 评论(2) 推荐(1) 编辑