
算法分析
half-beast
关注全栈,喜欢寻根究底
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
广度优先遍历(c/c++实现)
二叉树中的深度优先遍历DFS和广度优先遍历BFS,是对树的一种很常见操作。特别是树的深度优先遍历,常见方式有三种:前序,中序和后序。 #include #include #include using namespace std; typedef struct Node { int data; struct Node *left; struct Node *right; } Node原创 2015-01-06 00:03:13 · 1211 阅读 · 0 评论 -
堆排序(java实现)
常见排序--堆排序 因为堆结构是一个典型的完全二叉树,所以堆可以用一个一维数值表示。父结点与左子结点、右子结点的关系很容易推到出。推导过程如下: 假设数值的下标是:0 , 1 , 2 , 3 , 4 , 5, 6 , 7 , 8 则结点关系如下: parent left right 0 1 2 1 3原创 2014-12-25 16:03:57 · 521 阅读 · 0 评论 -
递归逆序打印单链表(c实现)
递归逆序打印单链表。交换打印语句和递归调用的顺序,可以实现顺序打印和逆序打印链表。 #include #include typedef struct Node { int data; struct Node *next; }Node ; Node *create_list(int *arr,const int len) { if(arr==NULL||len<=0) { retu原创 2015-01-05 22:55:25 · 3617 阅读 · 0 评论 -
c语言实现插入排序
插入排序算法(备忘)#include <stdio.h>void insert(int* a,int len) { int i,j; for(i=1;i<len;i++) { for(j=i;j>0 && a[j]<a[j-1];j--) { int...原创 2018-04-09 21:10:29 · 361 阅读 · 0 评论 -
c语言实现希尔排序
#include <stdio.h>void shell(int* a,int len) { int step = 1; while(step<len) step = step*3 + 1;//1 4 13 40 ... while(step >= 1) { int j; ...原创 2018-04-10 19:21:23 · 582 阅读 · 0 评论