算法
m4vsak123
这个作者很懒,什么都没留下…
展开
-
汉诺塔
前一阵子,一个同学问我“会写汉诺塔吗?”我寻思以前写过,大不了重写一遍,不难,但是当我写的时候却困难重重。全忘了一点都想不起来怎么写,于是,拿起纸和笔推导了一下递归的过程,然后把代码写出来,从这件事我体会到学习的过程中贵在于积累。 /* * main.c * * Created on: 2010-10-24 * Author: song */...原创 2010-11-08 18:22:07 · 84 阅读 · 0 评论 -
线性表的链式存储结构
线性表在我看来就是用一根线把所有数据穿起来,形象吧,他具体的定义自己上网查吧,我是不喜欢背定义的,很难记住。 线性表在内存中有两种存储方式,一种叫顺序存储,另一种叫链式存储,顺序存储说简单点就是在数组里存储,这种需要大量连续的空间,不太实用的。链式存储就不需要连续的空间,下一个结点在哪里都无所谓,反正当前结点中保存着下一个结点的地址,对吧。 下面是自己写的简...2011-07-08 15:30:26 · 77 阅读 · 0 评论 -
栈的链式存储结构
栈是一种特殊的顺序表,只是从一头进出而已。 下面是一些链栈的基本操作。 /* linkstack.h */#ifndef LINKSTACK_H_INCLUDED#define LINKSTACK_H_INCLUDED#include <iostream>using namespace std;#define TYPE i...原创 2011-07-08 15:34:43 · 77 阅读 · 0 评论 -
二叉树
线性表(不管是顺序存储还是链式存储)的元素之间的逻辑关系是线性的,这有时候并不能满足实际的要求,树形结构是另一种数据结构,它的元素之间的逻辑关系画成图的话形似一颗倒挂的树,故而得名。二叉树是树形结构中的特例,每个结点最多有两个孩子,就好像处于计划生育年代一样。 下面就是二叉树的一些基本操作,程序是用c语言写的。 #include <stdio.h>#...原创 2011-07-08 15:44:10 · 80 阅读 · 0 评论 -
队列的链式存储结构
队列也是一种特殊的线性表,只不过是一头进另一头出罢了。 下面是队列的基本操作。 /* queue.h */#ifndef QUEUE_H#define QUEUE_H#include <iostream>#include <string.h>using namespace std;#define TYPE ...原创 2011-07-08 15:47:23 · 63 阅读 · 0 评论