随笔分类 -  数据结构与算法

KMP算法思路总结
摘要:KMP算法一开始学起来要被绕晕,但事实上,只要掌握其中逻辑思路,还是很好学的。我们设主串为S,子串为a现在第一部分两者匹配,也就是说,S串的打钩部分与a串打钩部分是完全一样的,但是,S【i】与a【k】是不相同的。如果按照常规思路,我们只会把a串往后移一个(朴素算法的过程也可以这么理解),但这样时间上... 阅读全文

posted @ 2015-05-17 10:07 大大东 阅读(1269) 评论(3) 推荐(1)

堆排 归并排序 快排
摘要:堆排序的思想 利用大顶堆(小顶堆)堆顶记录的是最大关键字(最小关键字)这一特性,使得每次从无序中选择最大记录(最小记录)变得简单。 其基本思想为(大顶堆): 1)将初始待排序关键字序列(R1,R2....Rn)构建成大顶堆,此堆为初始的无序区; 2)将堆顶元素R[1]与最后一个元素R[n]交换,此时... 阅读全文

posted @ 2015-03-31 22:05 大大东 阅读(203) 评论(0) 推荐(0)

栈的应用:中缀表达式转为后缀表达式
摘要:1.中缀表达式转为后缀表达式规则:(栈实现)1)如果遇到操作数,我们就直接将其输出。2)如果遇到操作符,则我们将其放入到栈中,遇到左括号时我们也将其放入栈中。3)如果遇到一个右括号,则将栈元素弹出,将弹出的操作符输出直到遇到左括号为止。注意,左括号只弹出并不输出。4)如果遇到任何其他的操作符,如(“... 阅读全文

posted @ 2015-03-28 16:44 大大东 阅读(297) 评论(0) 推荐(0)

快速排序
摘要:package sort;import java.util.Scanner;public class 快排 { private static void sort(int x,int y,int[] a){ int i,j,k,t,l; i=x; j=... 阅读全文

posted @ 2015-03-25 12:30 大大东 阅读(172) 评论(0) 推荐(0)

导航