算法学习
文章平均质量分 68
iteye_16937
这个作者很懒,什么都没留下…
展开
-
递归替换:尾递归
来自HNUlanwei的CSDN:http://blog.csdn.net/u010911350 递归在很多时候被视为洪水猛兽。它的名声狼籍,好像永远和低效联系在一起。 其实,对一些如树的递归结构,递归算法是又自然又好用。 如果看看一些用来代替递归的技术,(汉诺塔的迭代算法不去说它,那是真正的算法的革命,除了佩服没啥好说的),一般来说只不过是自己模拟堆栈,编起来费劲,读起来费劲,维护起...原创 2015-06-05 09:36:42 · 426 阅读 · 0 评论 -
链表逆置
/* * 链表逆置 */public void LinkReverse() { LinkNode temp1, temp2, temp3; temp1 = head; temp2 = temp1.getNext(); temp3 = temp2.getNext(); temp1.setNext(null); temp2.setNext(temp1);...原创 2015-06-17 02:26:40 · 129 阅读 · 0 评论 -
常见排序算法的分析与实现
本文仅实现了冒泡排序、选择排序,插入排序和快速排序,仅供参考学习。性能体验:冒泡—>选择—>插入—>快排。 冒泡排序: /** * 冒泡排序—最简单的排序 * 稳定性:稳定 * 时间复杂度:O(n^2) */ public void BubbleSort(int a[]) { // 用于交换两个数的值 i...原创 2015-06-18 17:23:11 · 124 阅读 · 0 评论 -
按字节截取字符串
描述编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出为"我ABC"而不是"我ABC+汉的半个"。 接口说明原型:public String cutString(String s, int length) 知识点...原创 2015-08-27 10:26:01 · 140 阅读 · 0 评论 -
冒泡排序的优化算法(Java)
对于基本有序的数据,使用优化后的冒泡排序是最佳选择,他在发现数据已经有序后将结束排序,代码如下:public static void BubbleSort_2(int []a){ int k=a.length; int temp; boolean flag=true; //结束循环的标志位 while(flag){ flag=...原创 2015-09-17 15:15:37 · 99 阅读 · 0 评论 -
给定一个图G,要找出有多少个三角形包括了指定的点。
给定一个图G(V,E),V是点的集合有n个点,E是边的集合有m条边,现在问题是对图中任意一个点v,要找出有多少个三角形包括了这个点。 邻接矩阵辅助,进行图的深度优先遍历。取需import java.util.Scanner;public class Main { public static int q=0; // 目标节点 public static int n;...原创 2015-09-18 16:40:48 · 525 阅读 · 0 评论 -
hash冲突的解决方法小结
hash对于我们coder来说并不陌生,在我们使用hashmap和hashtable也许会有其底层实现的疑问,此处以hashmap第底层实现为例子进行说明,同时提出hash冲突的解决办法。 上图就是一个散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度...原创 2016-08-08 10:01:33 · 253 阅读 · 0 评论