![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法分析
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 · 1149 阅读 · 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 · 484 阅读 · 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 · 3562 阅读 · 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 · 324 阅读 · 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 · 532 阅读 · 0 评论