
数据结构造轮子
迅捷幽灵
这个作者很懒,什么都没留下…
展开
-
数据结构造轮子3.1-----二叉树的创建,递归遍历,线索化,统计叶子数,节点数,深度
BinaryTree.h#pragma once#include "stdafx.h"class BinaryTree{public: //tag标志符 1 = link 0 = thread struct node { int data; node * lchild; node * rchild; int ltag; int rtag; } *root;...原创 2018-12-02 15:43:19 · 227 阅读 · 0 评论 -
数据结构造轮子6.1-----二叉查找树的基本原理
SearchBST输入:①开始搜索位置②搜索的值③搜索起始点的双亲节点④搜索结果的引用如果该点的值与搜索值相同,将搜索结果引用复制为该点并返回如果该点的值小于查询值,进入左子树查找,否则进入右子树查找参数为:①该点左子树②查找值③该点位置④搜索结果的引用InsertBST(即使未找到搜索结果,SearchBST也已经将预计插入点定位到叶子节点)输入:①插入起始点...原创 2018-12-25 21:44:58 · 209 阅读 · 1 评论 -
数据结构造轮子6-----静态次优查找树
标头.h#pragma once#include "string"using namespace std;class SecondOptimalTree{public: struct elem { string name; int weight; }; elem * elem_data; int elem_length; int * sigma_weight;...原创 2018-12-25 19:47:33 · 184 阅读 · 0 评论 -
数据结构造轮子5.2-----基于败者树的K路归并算法
KWayMerge.h#pragma once#include "stdafx.h"#include "iostream"#include <stdlib.h>//归并段数#define K 5//每个并归段数据数量#define MAX_DATA_NUM 10//最大关键字#define MAX_KEY 9999原创 2018-12-17 16:44:35 · 200 阅读 · 0 评论 -
数据结构造轮子6.3-----B+树原理
B+树插入执行顺序输入参数:①树根②插入值③生成的新叶子节点的引用(若没有则为NULL)根据键值查找到需要插入的叶子节点进行判断:若该叶子节点未满,则插入后退出若该叶子节点以满,则组织新叶子,然后将新叶子引用赋值为生成叶退出到上一层执行,进行判断①若生成新叶子且该点孩子数未满,则将新叶子加入自身并退出②若生成新叶子且该点孩子数已经满,则继续组织新叶子,并将新叶子赋值到新生成...原创 2018-12-26 17:18:18 · 139 阅读 · 0 评论 -
数据结构造轮子5.1-----常用排序算法(归并排序)
Sort.h#pragma onceusing namespace std;class Sort{public: void StraightInsertionSort(int data[], int length); void BinaryInsertionSort(int data[], int length); void TwoWayInsertionSort(int da...原创 2018-12-10 14:17:48 · 138 阅读 · 0 评论 -
数据结构造轮子5-----常用排序算法(直接插入,2路插入,折半插入,希尔排序,冒泡排序,快速排序,堆排序)
Sort.h#pragma onceclass Sort{public: int Mod(int x, int y); void StraightInsertionSort(int data[], int length); void BinaryInsertionSort(int data[], int length); void TwoWayInsertionSort(int...原创 2018-12-09 13:16:51 · 329 阅读 · 0 评论 -
数据结构造轮子4-----图的操作及其常见算法(例:dijstra,floyd,prim,kruskal)
Graph.h#pragma once#define MAX_VERTEX_NUM 20#define INFINITY 9999/* 二维数组表示的无向图*/class Graph_Using_Array{public: int matrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; int arcnum; int vexnum; void...原创 2018-12-07 12:58:01 · 186 阅读 · 0 评论 -
数据结构造轮子4.1-----图的十字链表表示以及相关算法(拓步排序)
Graph.h#pragma once#include "iostream"#define MAX_VERTEX_NUM 20#define INFINITY 9999using namespace std;/* 二维数组表示的无向图*/class Graph_Using_Array{public: /* 邻接矩阵 */ int matrix[MAX_VER...原创 2018-12-08 20:01:36 · 284 阅读 · 0 评论 -
数据结构造轮子2-----队列
Queue.h#pragma once#define MAX_LENGTH 100using namespace std;//环形数组队列class Circular_Queue{public: int head, tail; int arr[MAX_LENGTH]; void InitQueue(); bool En(int & data); bool ...原创 2018-12-01 14:19:26 · 120 阅读 · 0 评论 -
数据结构造轮子1-----栈
Stack.h#pragma once#define MAX_LENGTH 100class Stack{public: virtual void InitStack() = 0; //主要操作 virtual bool Push(int & data) = 0; virtual bool Pop(int & data) = 0; virtual bool...原创 2018-12-01 13:18:19 · 156 阅读 · 0 评论 -
数据结构造轮子6.2-----AVL树
源.cpp#include "stdafx.h"#include "iostream"#include "标头.h"using namespace std;struct AvlNode{ int data; AvlNode * lchild; AvlNode * rchild; int height; AvlNode(int elem, AvlNode * l, Avl..原创 2018-12-26 00:19:17 · 147 阅读 · 0 评论