Mergeksorted linked lists and return it as one
sorted list. Analyze and describe its
complexity.思路:合并k个有序链表为一个有序链表。我们可以用先合并两个链表的方法,然后逐个遍历链表数组,与上一个合并结束...
分类:
其他好文 时间:
2014-05-12 15:07:06
阅读次数:
305
原题地址:http://oj.leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/题意:根据二叉树的先序遍历和中序遍历恢复二叉树。解题思路:可以参照http://www.cnblogs.com...
分类:
编程语言 时间:
2014-05-12 14:24:57
阅读次数:
324
在Java开发中通常我们会存储配置参数信息到属性文件,这样的属性文件可以是拥有键值对的属性文件,也可以是XML文件,关于XML文件的操作,请参考博文【Java编程】DOM XML Parser 解析、遍历、创建XML。在该篇博文中,我将展示如何向属性文件写入键值对,如何读取属性文件中的键值对,如何遍历属性文件。
1、向属性文件中写入键值对
Properties类调用setPrope...
分类:
编程语言 时间:
2014-05-10 04:44:32
阅读次数:
402
import osdef tree(top): for path, names, fnames in
os.walk(top): for fname in fnames: yield os.path.join(path, fname) for name
in...
分类:
编程语言 时间:
2014-05-09 23:49:35
阅读次数:
367
1 // 遍历一个list 2 public static void printList(List
list){ 3 for (String string : list) { 4 list.add("eeee"); // 运行错误 5 ...
分类:
其他好文 时间:
2014-05-09 23:31:33
阅读次数:
467
上文已讲述了回溯法以及01背包问题的原理,本文讲述如何顺序执行解决01背包问题以及通过模板模式重构软件。
一、顺序执行流程图
图1无剪枝函数的01背包问题顺序执行算法流程图
图2 有剪枝函数的01背包问题顺序执行算法流程图
无剪枝函数是通用的深度遍历算法,为了减少搜索深度可通过剪枝函数处理完全不可能的分枝。与递归方案的区别主要表现在i>=n后需要“回溯”,即用后进先出的方式将物...
分类:
其他好文 时间:
2014-05-09 22:15:22
阅读次数:
675
问题:有一个由大小写组成的字符串,现在需要对它进行修改,将其中的所有小写字母排在大写字母的前面(大写或小写字母之间不要求保持原来次序)。解决办法:设置2个指针i和j,i最初指向字符串的第一个位置,j指向字符串的最后一个位置;i向后遍历直到遇到第一个大写字符,j向前遍历直到遇到第一个小写字母,交换i和...
分类:
其他好文 时间:
2014-05-09 19:45:40
阅读次数:
284
背包是一种不支持从中删除元素的数据集合。它的目的是帮助用例收集元素并迭代遍历所有收集到的元素。迭代遍历的顺序没有要求(实现代码中是后进先出)。使用链表以及泛型机制来实现可以达到最优设计目标:
(1)可以处理任意类型的数据; (2)所需的空间总是和集合的大小成正比; (3)操作所需的时间总是和集...
分类:
其他好文 时间:
2014-05-09 16:19:36
阅读次数:
274
递归实现当然太简单,也用不着为了ac走这种捷径吧。。非递归实现还挺有意思的。
树的非递归遍历一定要借助栈,相当于把原来编译器做的事情显式的写出来。对于中序遍历,先要访问最左下的节点,一定是进入循环后,不断的往左下走,走到不能走为止,这时候,可以从栈中弹出访问的节点,相当于“左根右”过程的“根”,然后应该怎么做呢?想一下中序遍历完根节点之后应该干嘛,对,是走到右子树中继续重复这个过程,但是有一点,...
分类:
其他好文 时间:
2014-05-09 14:57:08
阅读次数:
211
快速排序基本思想:选取一个枢轴元素(图简单可选第一个),通过对序列一次遍历(中间涉及到数的交换),将该枢轴放置到序列合适位置,保证其左边数都比它小,右边数都比它大,然后利用递归思想对其左右两个子序列进行同样排序。快熟排序的基本实现过程:将枢轴元素key备份,序列头尾各设置一个游标——i和j,尾部.....
分类:
其他好文 时间:
2014-05-09 13:01:56
阅读次数:
360