摘要:
/** * 1.先转换为逆波兰顺序 * 数字直接存入list,符号压入栈中,但是如果栈底元素不大于该运算符的运算顺序,则将栈底pop,直到大于栈底运算符为止,再压入栈中, * 最后将运算符依次全部pop(以上pop出的运算符存入list) * 2.根据逆序算出结果 * ... 阅读全文
摘要:
做一个空栈,读入字符直到结尾.如果读入一个封闭符号,空栈时报错;非空时弹出栈尾字符,如果不匹配则报错.否则读入为开放字符,压入栈中.最后如果栈空,返回true.其中用到MyStack类,详情请见 1 public class KuohaoJiancha { 2 private char []... 阅读全文
摘要:
1 public class MyStack { 2 private AnyType [] theItems; 3 private final int DEFAULT_CAPACITY = 100; 4 private int top; 5 6 7 public... 阅读全文
摘要:
1 public class MyLinkedList implements Iterable { 2 @Override 3 public Iterator iterator() { 4 return new LinkedListIterator(); ... 阅读全文
摘要:
最近在《数据结构与算法分析(java版)》中看到了实现ArrayList的简易代码,亲自做了一下.个中的疑点还是在代码中实现了一下.其中就包括内部类Iterator对外部成员访问的问题. 1 private class MyIterator implements Iterator { 2 3 ... 阅读全文
摘要:
一.while条件:while(low val2,return 1;三.注意low = center + 1和high = center - 1; 1 public class BinarySeacher { 2 public static final int NOT_FOUND = -1... 阅读全文
摘要:
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)}该循环的复... 阅读全文
摘要:
实现的MyArrayList实为顺序表结构,其中要实现Iterable时必须在内部实现Iterator,即为该表的迭代器. 1 public class MyArrayList implements Iterable { 2 @Override 3 public Iterat... 阅读全文
摘要:
对于求最大子序列之和,对于我这样的菜鸟,首先想到的应该是最暴力的方法,就是将所有的子序列的和进行比较,然后出现最大值并返回答案。不过这也没啥意思,复杂度O(N2).对这个问题,有一个相对复杂的O(NlogN)的解法,就是使用递归。其主要思想是:比较左、右、中间三部分的序列和的大小,因为中间部分是没办... 阅读全文