7.Data Structure
memewry
hi
展开
-
几种常见的排序 Java版
一:冒泡排序大学课程里面第一个排序算法,它的基本思想是每一个不断的遍历数组,每次遍历总是把最大的那个数找出来放到数组的尾部。经过n轮遍历之后,就排序完成。/** * 实现冒泡泡排序 * @return void * @param int[] * 它的原理是每一次都把最大的数放到最后面 * */ @SuppressWarnings("unused") priv转载 2012-04-18 10:41:42 · 413 阅读 · 0 评论 -
二叉查找树(二叉排序树)的详细实现C版
1、序 详细实现了二叉查找树的各种操作:插入结点、构造二叉树、删除结点、查找、 查找最大值、查找最小值、查找指定结点的前驱和后继2、二叉查找树简介 它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排转载 2012-04-20 20:30:07 · 697 阅读 · 0 评论 -
二叉排序树的查找与遍历C版
/* * 构造一颗二叉查找树,实现树的插入、删除等基本操作 * */#include#includetypedef struct node{ int count; //记录某个元素出现的次数 int data; //数据 struct node * left; struct node * right;}Node,*PNode;int array[100转载 2012-04-20 20:28:32 · 2445 阅读 · 0 评论 -
树的常见操作Java版
转:http://memewry.iteye.com/blog/1490721据说面试中树考到的概率很高package com.gengu.树;import java.util.Queue;import java.util.Stack;import java.util.concurrent.ConcurrentLinkedQueue;import org.junit.T...原创 2019-12-12 14:40:11 · 661 阅读 · 0 评论 -
Hash表实现 C++
转:http://blog.csdn.net/kay_sprint/article/details/6703450哈希表的几个概念:映像:由哈希函数得到的哈希表是一个映像。冲突:如果两个关键字的哈希函数值相等,这种现象称为冲突。处理冲突的几个方法:1、开放地址法:用开放地址处理冲突就是当冲突发生时,形成一个地址序列,沿着这个序列逐个深测,直到找到一个“空”的转载 2012-07-12 21:29:21 · 497 阅读 · 0 评论 -
写了个循环队列
就当找工作练手了#includeusing namespace std;struct Queue{int * array;int front;int rear;};void init(Queue* queue){queue->array = (int*)malloc(sizeof(int)*8);queue->front = 0;原创 2012-08-10 13:47:28 · 682 阅读 · 0 评论 -
如何判断一棵树是否为二叉排序树 C版
转自:http://blog.csdn.net/hackbuteer1/article/details/6561872思路:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树。递归遍历就可以了,反正就是左孩子的key比根节点的key小,右孩子的key比根节点的key大,转载 2012-04-20 21:23:38 · 6987 阅读 · 3 评论 -
如何求一棵二叉树深度和叶子数(递归)C++版
(1)求一棵二叉树的深度用递归比较简单,求一棵二叉树的深度可以递归定义为: 若为空树,则深度为0; 否则,比较它的左子树的深度和它的右子树的深度,如果左子树的深度大于右子树,则树的深度=左子树+1,反之,则树的深度=右子树+1;源程序如下:templateint BiTree::countHighOfBiTree(BiTreeNode *currentNod转载 2012-04-29 01:04:55 · 2646 阅读 · 0 评论