摘要: 1、函数指针(指向函数的指针)在c语言中,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址(入口地址),所以函数名跟数组名很类似,都是指针常量。函数指针就是指向这个入口地址的指针变量,注意函数指针是一个变量。#includevoid f(int);int main(){ ... 阅读全文
posted @ 2014-06-24 22:02 Jessica程序猿 阅读(426) 评论(0) 推荐(0) 编辑
摘要: #include#include "fatal.h"struct TreeNode;typedef struct TreeNode *Position;typedef struct TreeNode *SearchTree;typedef int ElementType;SearchTree Mak... 阅读全文
posted @ 2014-06-24 20:02 Jessica程序猿 阅读(1417) 评论(0) 推荐(0) 编辑
摘要: #include#include "fatal.h"struct AvlNode;typedef struct AvlNode *Position;typedef struct AvlNode *AvlTree;typedef int ElementType ;AvlTree MakeEmpty(A... 阅读全文
posted @ 2014-06-24 19:58 Jessica程序猿 阅读(581) 评论(0) 推荐(0) 编辑
摘要: AVLTree即(Adelson-Velskii-Landis Tree),是加了额外条件的二叉搜索树。其平衡条件的建立是为了确保整棵树的深度为O(nLogn)。平衡条件是任何节点的左右子树的高度相差不超过1.在下面的代码中,编程实现了AVL树的建立、查找、插入、删除、遍历等操作。采用C++类封装。... 阅读全文
posted @ 2014-06-24 19:55 Jessica程序猿 阅读(722) 评论(0) 推荐(0) 编辑
摘要: 排序二叉树对于我们寻找无序序列中的元素的效率有了大大的提高。查找的最差情况是树的高度。这里就有问题了,将无序数列转化为二叉排序树的时候,树的结构是非常依赖无序序列的顺序,这样会出现极端的情况。【如图1】: 这样的一颗二叉排序树就是一颗比较极端的情况。我们在查找时候,效率依赖树的高度,所以不希望这样... 阅读全文
posted @ 2014-06-24 16:16 Jessica程序猿 阅读(549) 评论(0) 推荐(0) 编辑
摘要: 先看个简单的:char *p,这定义了一个指针,指针指向的数据类型是字符型,char *(p)定义了一个指针P;char *p[4],为指针数组,由于[]的优先级高于*,所以p先和[]结合,p[]是一个数组,暂时把p[]看成是q,也就是char *(q),定义了一个指针q,只不过q是一个数组罢了,故... 阅读全文
posted @ 2014-06-24 10:51 Jessica程序猿 阅读(779) 评论(0) 推荐(1) 编辑
摘要: 二叉搜索树最大特征是:左边子结点的值#include #include typedef struct NODE{ NODE * pleft; NODE * pright; int ivalue;} node;/* 错误示例,实际上这个函数并没有连接起新建的结点void inser... 阅读全文
posted @ 2014-06-24 10:39 Jessica程序猿 阅读(1717) 评论(0) 推荐(0) 编辑
摘要: 1、序详细实现了二叉查找树的各种操作:插入结点、构造二叉树、删除结点、查找、 查找最大值、查找最小值、查找指定结点的前驱和后继2、二叉查找树简介它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值... 阅读全文
posted @ 2014-06-24 10:37 Jessica程序猿 阅读(680) 评论(0) 推荐(1) 编辑