Sort a linked list using insertion sort.
仍然是一个非常简洁的题目,让我们用插入排序给链表排序;这里说到插入排序,可以来回顾一下, 最基本的入门排序算法,就是插入排序了;时间复杂度为n^2,最基本的插入排序是基于数组实现的,下面给出基于数组实现的插入排序,来体会一个插入排序的思想;
以下仅为数组实现,不是解题代码,没兴趣可以跳过。
vo...
分类:
其他好文 时间:
2014-06-24 23:56:31
阅读次数:
359
Sort a linked list in O(n log n)
time using constant space complexity.
这道题目非常简短的一句话,给链表排序,看到nlogn,我们可以来简单复习一下排序。首先说一下这个nlogn的时间复杂度(根据决策树我们可以得出这个界限),是基于比较排序的最小上限,也就是说,对于没有一定范围情况的数据来说,最快的排序思路就是归并和快速排...
分类:
其他好文 时间:
2014-06-22 09:02:54
阅读次数:
250
每天一个小算法还是有点没时间,尽量抽出时间写一写。今天是合并有序的链表,对单链表有点忘了,尤其是指针指来指去的,有点晕,幸好基础还算好,想了想还是能想回来。代码使用随机数函数生成一个链表,然后对链表排序,最后合并链表并打印,删除链表的函数于算法无关紧要,所以未实现^_^。在Linux/g++下编译运...
分类:
其他好文 时间:
2014-06-16 09:07:08
阅读次数:
216
一、冒泡排序简述1、概念 冒泡排序(Bubble
Sort),是一种计算机科学领域的较简单的排序算法。
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素...
分类:
其他好文 时间:
2014-06-16 08:34:13
阅读次数:
201
Sort a linked list inO(nlogn) time using
constant space complexity.单向链表排序O(nlogn),Mergesort可以实现。 1 /** 2 * Definition for
singly-linked list. 3 * st.....
分类:
其他好文 时间:
2014-06-10 00:44:11
阅读次数:
329
无聊写了个单链表排序,不是很难。但是插入写起来很麻烦,都没有,本文全部是将链表中节点值互换,不改变结构,所以很容易写出来 #includeusing
namespace std;struct node{ int n; struct node* next;};//创建链表void swap(int
&...
分类:
其他好文 时间:
2014-05-26 14:52:14
阅读次数:
227
基本C/C++、STL(vector、set、map、queue、string、algorithm)枚举、贪心、递归、分治、递推、模拟构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表、并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/...
分类:
其他好文 时间:
2014-05-09 08:10:36
阅读次数:
338