
数据结构
haohulala
进击的蛋糕(dangao123coding)
展开
-
【数据结构】C语言用栈顶和栈底指针实现栈的操作及用栈实现数值转换
栈是一种先进先出(FIFO)的数据结构。。废话不多说,直接贴代码代码参考了小甲鱼的数据机构课程#include "stdafx.h"#include <stdlib.h>#include <stdio.h>#include <math.h>#include <windows.h>#define STACK_INIT_SIZE 1...原创 2018-04-22 18:31:47 · 4247 阅读 · 0 评论 -
线索二叉树
1 #include <iostream> 2 #include <stdio.h> 3 using namespace std; 4 5 typedef char Elemtype; 6 7 typedef struct ThreadNode{ 8 Elemtype data; 9 struct ThreadNod...原创 2018-11-01 18:11:22 · 482 阅读 · 0 评论 -
【数据结构】AVL树的实现
参考文章https://blog.youkuaiyun.com/pngynghay/article/details/22443525 ,这个是用c语言写的,我是用c++写的直接上代码#ifndef _AVLTree_H_#define _AVLTree_H_/* 这个头文件是AVL树的c++实现 AVL树的旋转情况有4中,但是可以最终归结为左旋和右旋两种 算法应该都是没问题的,就是指...原创 2018-10-07 21:42:35 · 250 阅读 · 0 评论 -
c++二叉树的递归和非递归的前序中序和后序遍历以及层序遍历
二叉树的递归版的前序,中序和后序遍历很简单也很容易理解,这里就放一个前序遍历的例子//前序遍历递归算法,递归算法都大同小异,这里就不一一列举了void binaryTree::pro_order(NodeStack::Node *t) { NodeStack::Node *h = t; if (h != NULL) { cout << h->data<<...原创 2018-10-04 17:12:56 · 376 阅读 · 0 评论 -
【数据结构】c语言基于堆栈实现回溯法自动走迷宫
迷宫的坐标用二维数组表示,此外还需要一个当前坐标缓冲区,表示当前位置,我使用的是b[3]数组,第三个空间用来表示这个格子被走了几次#include "stdafx.h"#include<iostream>#include<windows.h>using namespace std;#define MAXSIZE 100#define ERROR 0#d...原创 2018-07-20 20:25:49 · 2939 阅读 · 0 评论 -
线索二叉树的创建和遍历
线索二叉树由一个头指针来统领,头指针的右孩子指针指向根节点,左孩子指向中序遍历的最后一个结点。。PS:锁链二叉数只能由中序遍历实现。#include "stdafx.h"#include <stdio.h>#include <stdlib.h>#define OK 1#define OVERFLOW -1#define ERROR 0//线索二叉树结构的实现/...原创 2018-04-29 13:28:37 · 1033 阅读 · 0 评论 -
树的抽象数据类型实现
树的抽象数据类型,包括递归创建树和前序中序后序遍历。#include "stdafx.h"#include <stdio.h>#include <stdlib.h>#define MAX_TREE_SIZE 100#define OVERFLOW -1#define OK 1#define ERROR 0typedef char Elemtype;typ...原创 2018-04-29 13:25:41 · 1634 阅读 · 0 评论 -
【数据结构】字符串模式匹配的KMP算法
KMP算法是模式匹配的一种算法,他的思想是,当我们进行模式匹配的时候,不用像暴力解法那样一个一个字符去比较,而是从前一串字符的最大前后缀开始匹配,这样就节省了不少时间数学推导:假如i代表主串指针,j代表子串指针如果有:i2 == j2;j1 != j2;那么i2 != j1,我们在后一个字符失配 的时候,可以直接跳过i2先来看暴力算法//截取字符串//St...原创 2018-04-28 11:34:46 · 304 阅读 · 0 评论 -
循环链表解决魔术师发牌问题和拉丁方阵
这是小甲鱼数据结构视频中的两题,主要用的数据结构是循环链表。。魔术师发牌问题:有13张同样花色的牌按照一定顺序摆放,然后按照公差为1的等差数列逐次取出,在求要取出的牌的过程中未取出的牌将顺次加入到末尾,求出能够达成这样效果的牌序.拉丁方阵问题,用N个不同数字排除N * N的方阵使之行和列的数字都不一样.下面是代码:#include "stdafx.h"#include <stdio.h&g...原创 2018-04-21 17:12:17 · 366 阅读 · 0 评论 -
编程小白用循环列表解决约瑟夫环问题
记录复习自用。。约瑟夫环问题描述:约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我们把编号从0~n-1,最后 结果+1即为原问题的解。解题时参考了小甲鱼数据结构视频。下面贴代码:#include...原创 2018-04-21 12:10:00 · 700 阅读 · 0 评论 -
编程小白的数据结构学习:单链表
学习用代码,记录自己复习的时候用。。代码参考了 白皮肤的黑客 的文章,地址 https://blog.youkuaiyun.com/Davidluo001/article/details/46476221下面贴代码。#include "stdafx.h"#include <stdio.h>#include <malloc.h>typedef int Elemtype;typ...原创 2018-04-20 22:15:16 · 214 阅读 · 0 评论 -
【数据结构】链式前向星存图以及DFS和BFS遍历
链式前向星链式前向星可以说是简化版的邻接表,在做算法题的时候可以很容易的使用她的存储结构分为两个部分,一个是边表结点,一个是顶点表结点(和邻接表非常类似)//链式前向星的存储结构struct edge{ int to; //指向那个顶点 int next; //同起点的下一条边的编号 int weight; //该边的权重} edges[MAX...原创 2019-08-24 11:43:57 · 890 阅读 · 0 评论