Algorithm
文章平均质量分 74
PointerOnFuture
这个作者很懒,什么都没留下…
展开
-
排序算法C/C++实现_快速排序(Quick Sort)
快速排序是对气泡排序(Bu)的一种改进原创 2014-04-18 09:48:31 · 1034 阅读 · 1 评论 -
一个先序或后序序列 还原唯一 二叉排序树 (C语言实现)
以下首先是说明,一个先序原创 2014-05-06 18:44:27 · 1842 阅读 · 0 评论 -
检测单链表中是否有环--快慢指针法
问题描述:在单向链表中,每个结点都包含一个指向下一个结点的指针,最后一个结点的这个指针被设置为空。但如果把最后一个结点的指针指向链表中存在的某个结点,就会形成一个环,在顺序遍历链表的时候,程序就会陷入死循环。我们的问题就是,如何检测一个链表中是否有环,如果检测到环,如何确定环的入口点(即求出环长,环前面的链长)。一种比较耗空间的做法是,从头开始遍历链表,把每次访问到的结点(或其地址)存转载 2014-08-07 16:39:58 · 767 阅读 · 0 评论 -
二叉树前序,中序,后序非递归遍历
#include #include #include #include #include using namespace std;struct Node { int value; Node *pLChild; Node *pRChild; }; void Visit(Node *node) { printf原创 2014-09-08 14:15:12 · 430 阅读 · 0 评论 -
堆排序_C语言实现
#include #include void AdjustHeap(int *arr, int s, int e) { int temp = arr[s]; for(int j=2*s+1; j<=e; j=j*2+1) { if(j arr[j+1]) ++j; if(arr[j] > temp) break;原创 2014-09-08 14:54:03 · 392 阅读 · 0 评论 -
归并排序
#include #include void Merge(int arr[], int low, int mid , int high, int temp[]) { int i, j,k; for(i = low, j = mid+1,k = 0; i<=mid && j <=high;k++) { if(arr[i] < arr[j]) temp[k] =原创 2014-09-09 09:48:28 · 393 阅读 · 0 评论