小菜鸟起飞之路--算法与数据结构
jav_imba
这个作者很懒,什么都没留下…
展开
-
堆排序算法的JAVA实现
package org.myorg.algorithm; public class HeapSorter { public static void heapSort(int[] array){ buildHeap(array);//构建堆 int n = array.length; int i=0; for(i=n-1;i>原创 2015-01-07 10:49:49 · 609 阅读 · 0 评论 -
给定的单链表逆序操作的递归与非递归算法总结
(1)单链表逆序的递归与非递归算法 Node* RecReverseList(Node* head) //递归方法 { if (!head || !head->next) { return head; } Node *newhead = RecReverseList(head->next);原创 2014-12-21 17:26:49 · 532 阅读 · 0 评论 -
快速排序算法的JAVA实现
快速排序算法是排序算法中一个基本的算法,是不稳定的排序,其平均时间负责的为O(nlogn),最差时间为O(n^2);下面是JAVA代码实现: public class ASwap { public static void main(String[] args) { int a[] = { 5, 3, 2, 4, 6, 1, 7, 9, 0, 8 }; QuickSort(a, 0, 9原创 2014-12-22 11:34:46 · 573 阅读 · 0 评论 -
落单的数算法(巧妙的异或运算)
问题描述: 有2n+1个数,其中2n个数两两成对,1个数落单,找出这个数。要求O(n)的时间复杂度,O(1)的空间复杂度。 进阶问题:如果有2n+2个数,其中有2个数落单,该怎么办? Java 实现: public class Tst { public static void main(String[] args) { int arr[] = {1,2,转载 2015-06-04 10:43:34 · 575 阅读 · 0 评论 -
翻转句子中单词顺序
题目描述翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。如:"I am a student."翻转成"student. a am I"具体算法C++实现如下:#include #include #include #include using namespace std; void swap(char &a, char &b) {转载 2015-06-03 16:58:15 · 453 阅读 · 0 评论