![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 63
以前的Guosam
绝逼是学渣~~~~~~~~~~~~~~~~
展开
-
二叉排序树的删除
(网上讲二叉排序树删除的资料很少,这篇很不错!转自:http://bbs.csdn.net/topics/110010437)二叉排序树的删除: 对于一般的二叉树来说,删去树中的一个结点是没有意义的,因为它将使以被删除的结点为根的子树变成森林,破坏了整棵树的结构但是,对于二叉排序树,删去树上的一个结点相当于删去有序序列中的一个记录,只要在删除某个结点后不改变二叉排序树的特性即转载 2015-05-28 12:18:36 · 1322 阅读 · 0 评论 -
约瑟夫问题求解算法的设计与实现
一、实验内容 约瑟夫(Joseph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。 二、实验目的 掌握原创 2015-06-15 09:05:45 · 3331 阅读 · 1 评论 -
AVL树的初步生成与插入操作
平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。构造与调整方法 平衡二叉树的常用算法有红黑树、AVL、Treap等。 最小二叉平衡树的节点的公式如下 F(n)=F(n-1)+F(n-2)+1 这个类似于一个递归的数列,可以参考Fibonacci数列原创 2015-07-02 17:05:16 · 3601 阅读 · 0 评论 -
折半查找法的递归和非递归形式
/*1、折半查找的查找过程是:先确定待查记录所在区间,然后逐步缩小范围至到找到或者找不到该记录为止。2、折半查找的性能分析可以由判定树得出,折半查找在查找成功时给定值进行比较的关键字个数至多为⌊log_2 ⌋原创 2015-06-01 11:30:15 · 4545 阅读 · 0 评论 -
二叉排序树详解
原址:http://www.cnblogs.com/zhuyf87/archive/2012/11/09/2763113.html二叉排序树又称“二叉查找树”、“二叉搜索树”。二叉排序树:或者是一棵空树,或者是具有下列性质的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树。二叉转载 2015-06-01 21:20:00 · 749 阅读 · 0 评论 -
斐波那契查找(超详解)
// 斐波那契查找.cpp #include #include using namespace std; const int max_size=20;//斐波那契数组的长度 /*构造一个斐波那契数组*/ void Fibonacci(int * F) { F原创 2015-06-01 17:13:49 · 1028 阅读 · 0 评论 -
内部排序算法比较(超详解)
一、题目描述 通过随机数据比较各排序算法的关键字比较次数和关键字移动次数,以 及执行时间,取得直观感受。 二、设计要求一、需求分析 实现各排序算法,分别进行以下各组比较,并进行总结。 一、各算法在不同规模下的比较。 1)比较范围:直接插入排序、冒泡法排序、简单选择排序、快速排序1(自己实现)、快速排序2(调用STL)、归并排序。 2)比较指标:a)关键字操作次数(比较次数和移动次数原创 2015-06-14 11:42:42 · 16265 阅读 · 0 评论 -
插值查找详解
//插值查找/*插值查找在实际使用时,一般要满足两个假设条件:(1)每一次对数据的访问与通常的指令相比,费用都是相当昂贵的。例如,待查找的表一定是在磁盘而非内存中,因而每一次比较都要进行磁盘访问。(2)数据不仅是已被排好序的,而且呈现均匀分布特征。这种插值查找对表长较大的顺序表,其平均性能比折半查找好。*/#include<iostream>#include<stdio.h>using原创 2015-06-01 20:49:28 · 1074 阅读 · 0 评论 -
图的邻接表存储和基本操作
书本当然是严奶奶的那本《数据结构(C语言版)》参考代码:《数据结构》算法实现及解析(高一凡)本文主要还是对这两位大神的东西整理一下,其实哈哈,还是代码的搬运工(逃)/*****************图的邻接表存储表示***************************************制作人:Guosam'*************************原创 2015-06-01 11:03:15 · 3199 阅读 · 0 评论 -
图的数组(邻接矩阵)存储结构和基本操作
书本当然是严奶奶的那本《数据结构(C语言版)》参考代码:《数据结构》算法实现及解析(高一凡)本文主要还是对这两位大神的东西整理一下,其实哈哈,还是代码的搬运工(逃)/*****************图的数组(邻接矩阵)存储表示***************************************制作人:Guosam*********************原创 2015-06-01 11:00:09 · 1520 阅读 · 0 评论 -
线性单链表的存储及基本操作(整理)
教科书:严奶奶的《数据结构(C语言版)》参考代码:高一凡的《数据结构》算法实现和解析/*****************线性链表的单链表存储结构*********************************制作人:Guosam******************************************时间:2015/5/20*******************原创 2015-06-01 10:56:35 · 608 阅读 · 0 评论 -
线性表存储和操作
书本当然是严奶奶的那本《数据结构(C语言版)》参考代码:《数据结构》算法实现及解析(高一凡)本文主要还是对这两位大神的东西整理一下,其实哈哈,还是代码的搬运工(逃)/***********线性表的动态分配顺序存储结构*********** ******制作人:Guosam ********* *****日期:2015/5/20 *********/原创 2015-06-01 10:47:24 · 420 阅读 · 0 评论 -
STL容器 初步简介
原址:http://www.cnblogs.com/newpanderking/p/3888568.html在stl中容器分为两大类,序列式容器和关联式容器。序列式容器:array、vector、heap、priority-queue、list、slist、deque、(stack、queue)最后两个是配接器关联式容器:RB-tree、set、map、multiset转载 2015-06-01 10:02:24 · 357 阅读 · 0 评论 -
斐波那契查找(超详解)
// 斐波那契查找.cpp #include <iostream> #include <string.h> using namespace std; const int max_size=20;//斐波那契数组的长度 /*构造一个斐波那契数组*/ void Fibonacci(int * F) { F[0]=0;原创 2015-06-20 19:10:28 · 948 阅读 · 2 评论 -
内部排序——堆排序初探
堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值,即A[PARENT[i]] >= A[i]。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根堆的要求可知,最大的值一定在堆顶。若在输出堆顶的最小值之后,使得剩余n-1个原创 2015-07-12 17:58:26 · 570 阅读 · 0 评论