摘要: 图示 插入排序的基本思想是:对于数组前边部分已经是排好序的了,对于接下来的元素查找其在前面的位置,插入之。如下图中1 2 4 7 已经排好序,接下来找到2的位置,插入到1和3之间。之后同样处理4和9.参考代码void insertSort(int A[], int lens){ if (A... 阅读全文
posted @ 2013-02-24 22:37 jihite 阅读(1034) 评论(0) 推荐(0) 编辑
摘要: 基本思想假设数序列中小于元素a的个数为n,则直接把a放到第n+1个位置上。当存在几个相同的元素时要做适当的调整,因为不能把所有的元素放到同一个位置上。计数排序假设输入的元素都是0到k之间的整数。参考代码#include void COUNTINGSORT(int *A, int *B, int ar... 阅读全文
posted @ 2013-02-23 23:41 jihite 阅读(24398) 评论(3) 推荐(2) 编辑
摘要: 思路像合并排序一样,快速排序是基于分支模式的:分解:数组A[n]被划分两个字数组A[0..q-1]和A[q+1..n],使得对于数组A[0..q-1]中的元素都小于A[q], A[q+1..n]中的元素都大于等于A[q]。此时A[q]就得排好序。解决:通过递归调用快速排序,对字数组A[0..q-1]... 阅读全文
posted @ 2013-02-23 21:17 jihite 阅读(18843) 评论(0) 推荐(0) 编辑
摘要: 一 初识堆堆 数据结构是一种数组,它可以视为一颗完全二叉树。如下图: 图中的树是数组,A={16, 14, 10, 8, 7, 9, 3, 7},圈内表示数值,圈外红色的数字表示数组的下标。array_size是数组的大小(此时是8),heap_size是构建堆的元素的多少。满足heap_size... 阅读全文
posted @ 2013-02-22 22:43 jihite 阅读(3573) 评论(5) 推荐(3) 编辑
摘要: 递归算法是把一个问题分解成和自身相似的子问题,然后再调用自身把相应的子问题解决掉。这些算法用到了分治思想。其基本模式如下: 分解:把一个问题分解成与原问题相似的子问题 解决:递归的解各个子问题 合并:合并子问题的结果得到了原问题的解。 现在就用递归算法,采用上面的分治思想来解合并排序。 合并排序(非 阅读全文
posted @ 2013-02-21 08:14 jihite 阅读(18787) 评论(8) 推荐(0) 编辑
摘要: 假设字典为dics = {0:'a', 1:'b', 'c':3} 1.从字典中取值,当键不存在时不想处理异常 [方法] dics.get('key', 'not found') [例如] [解释] 当键'key'不存在是,打印'not found'(即想要处理的信息),当存在是输出键值。 【其他解 阅读全文
posted @ 2013-01-24 18:01 jihite 阅读(74573) 评论(0) 推荐(0) 编辑
摘要: 【任务】有一个包含列表(行)的列表,现在想获得另一个列表,该列表包含相同的行,但是一些列被删除和重新排序了。【解决方案】假设我们的列表是 listeg = [[0,1,2], [3,4,5], [6,7,8]],现在我们想去除第2列,同时把第1列和第3列互换。方法一: 格式:[[ ] for row in listeg],在内部[ ]写上自己想要的列,本要求中为[row[2], row[0]]方法二: 格式:[[ ] for row in listeg] ,在内部[ ]写上自己想要的列,但是内层的列也采用了和外层相同的格式,即[row[i] for i in [2, 0]]点评:方法一直接采. 阅读全文
posted @ 2013-01-24 11:30 jihite 阅读(5289) 评论(0) 推荐(0) 编辑
摘要: 小例奉上: 可以看出,赋值号“=”是引用,即a 和 b 是指向一个对象。 如何实现对象的拷贝呢,python 有 copy模块。用法:import copy 对象2 = copy.copy(对象1)例子: 问题: 可以看出:copy 可以实现浅层拷贝,可以通过copy.deepcoppy()来实现深层拷贝。例如上例: 判断是否是一个对象: is "b = a"是引用 指向的一个对象,所以a is b返回 True "c = copy.copy(a)"c是a的拷贝,不是指向一个对象,返回False判断是否值相同: == 阅读全文
posted @ 2013-01-20 17:10 jihite 阅读(3769) 评论(0) 推荐(1) 编辑
摘要: 作为一个计算机工程人员,编程最基础的工作,犹如厨师会做饭、建筑工人会垒砖。但算法重在思想,没有精美的菜谱不会有美味的菜肴、没有设计师的图纸盖不起绝世的建筑。 时间是宝贵的,但又是冗余的。往事越千年,弹指一挥间,从人类历史长河的角度来审视我们的人生,短短几十年,何其宝贵。但是再看看现实中的我们,有多少人在毫无价值的事情浪费了多少精力。时间是宝贵的,人生只能活一回。为了更好地生活、为了爱我的人和我爱的人、为了不虚度此生,好好珍惜时光,干点正事。 阅读全文
posted @ 2013-01-11 17:16 jihite 阅读(627) 评论(2) 推荐(1) 编辑
摘要: 看一段主函数调用函数的小程序: 1 import sys 2 def Fuc(): 3 print 'hello' 4 5 if __name__ == '__main__': 6 if len(sys.argv) != 3: 7 print 'Usage: python input_name output_name' 8 exit(1) 9 f_input = sys.argv[1]10 f_output = sys.argv[2]11 Fuc()12 释义: 5行“if __name__ == '_... 阅读全文
posted @ 2013-01-06 16:56 jihite 阅读(37287) 评论(0) 推荐(0) 编辑