随笔分类 - 算法
摘要:堆排序 堆排序的思想是先调用堆的inset方法,再调用堆的remove方法输出。 实现 for (i = 0; i < size; i++) heap.insert(array[i]); for (i = 0; i < size; i++) array[i] = heap.remove(); 效率
阅读全文
摘要:概述 表达式树的特点:叶节点是操作数,其他节点为操作符。由于一般的操作符都是二元的,所以表达式树一般都是二叉树。 根据后缀表达式"ab+cde+**"建立一颗树 文字描述: 如同后缀表达式求值一样,逐个读取后缀表达式的每一个符号,如果遇到操作数,建立一个节点把操作数的值加入这个节点,并把节点入栈;如
阅读全文
摘要:排序应用 应用广泛:一旦建立数据库后,就可能根据某些需求对它进行排序。比如,对员工按工资排序,对学生按年级排序,对商品按价格排序,对城市按人口增长率排序,对国家按GDP排序,以及对恒星按大小排序。 重要性:由于排序非常重要而且可能非常耗时,所以它已经成为计算机科学中一个被广泛研究的课题。 排序的稳定
阅读全文
摘要:public static void main(String[] args) { List<Integer> list = new ArrayList<>(); HashSet<Integer> set = new HashSet<>(); for(int i=0; i<100000; i++) {
阅读全文
摘要:概念 大O表示法是和数据项的个数相关联的粗略度量算法时间复杂度的快捷方法。 常数一个无序可重复数组插入一个数据项的时间T是常数K,常数K表示一次插入所花费的时间,包含cpu、编译器等工作时间。可表示为:T = K 线性查找从数组中线性查找一个数据项平均需要N/2步,每步所花费的时间为K可表示为:T
阅读全文

浙公网安备 33010602011771号