呵呵!今天兴致高,用python重写了部分排序算法,也为笔试做下准备,继续加油//冒泡排序defbubble(x,n):'''Thisfunctionorderstheoriginalitemsxxislist,nisthelengthofx'''foriinrange(n):forjinran.....
分类:
编程语言 时间:
2015-07-16 19:03:01
阅读次数:
161
今天是星期天,想睡到10点起床,结果认为自己太奢侈了,不能这么做,于是把闹钟设置成了6:30;结果终于9:36醒了,起床,无缘无故迟了,好吧,就算太累了吧,周天就原谅自己一回。终于到了中午,辗转反侧,用objective-c去实现一个计算器程序,调试不成四则运算计算器算法,总是差那么一点点,却...
分类:
编程语言 时间:
2015-07-12 22:55:25
阅读次数:
224
平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。构造与调整方法 平衡二叉树的常用算法有红黑树、AVL、Treap等。 最小二叉平衡树的节点的公式如下 F(n)=F(n-1)+F(n-2)+1 这个类似于一个递归的数列,可以参考Fibonacci数列...
分类:
其他好文 时间:
2015-07-02 22:48:29
阅读次数:
487
应用场景: 获取两个字符串所有公共的子串。
思路: 1. 先获取两个子串的交集
2. 遍历交集子串,从最短子串到最长子串
public static List getAllCommonSubStrings(String str1, String str2) {
//TODO null check.
Strin...
分类:
编程语言 时间:
2015-07-01 18:12:35
阅读次数:
155
五大常用算法之一:分治算法分治算法一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如...
分类:
编程语言 时间:
2015-07-01 17:44:13
阅读次数:
150
动态规划(DP)是一种解决复杂问题特别是主问题包含重复子问题的常用算法思想。它将待求解问题分解成若干子问题,先求解子问题,然后再从子问题中得到原问题的解。不同于分治法,子问题常常不是互相独立的。
利用动态规划求解问题的有效性 依赖于问题本身具有的两个重要性质,也就是如果待解决问题具有以下两个性质,就可以考虑使用动态规划求解。
1 最优子结构:问题的最优解包含了其子问题的最优解。
2 重叠子问...
分类:
其他好文 时间:
2015-06-29 22:18:52
阅读次数:
148
1. reverse /**
* @Description: reverse a string.
* @param str the String to reverse, may be null
* @return reversedStr the reversed String, null if null String input
*/
publi...
分类:
其他好文 时间:
2015-06-24 16:32:37
阅读次数:
129
$arr[$k+1]) { $tmp=$arr[$k+1]; $arr[$k+1]=$arr[$k]; $arr[$k]=$tmp; } ...
分类:
编程语言 时间:
2015-06-15 10:58:31
阅读次数:
135
一、前言 上一篇,只是简单的记录了常用算法的主要思想以及代码实现( 常用算法记录); 这次简单的记录一下算法的稳定性以及复杂度二、稳定性1. 稳定性的定义 如果两个相等的数据的先后位置,排序前后保持不变的话,那就是稳定的,反之,就是不稳定; 例如:A[i] == A[j] , A[i]的位置...
分类:
编程语言 时间:
2015-05-26 18:11:11
阅读次数:
119
算法描述:S1为带切分字符串,S2为空,MaxLen为词典中的最大词长判断S1是否为空,若是则输出S2从S1左边开始,取出待处理字符串str(其中str的长度小于MaxLen)查看str是否在词典中,若是则转5,若否则转6S2+=str+”/”,S1-=str,转2将str最右边的一个字去掉判断st...
分类:
编程语言 时间:
2015-05-25 22:19:22
阅读次数:
137