数据结构
感受算法之美
不再彷惶
你可以摸鱼,但你不能真的菜。
展开
-
利用Java实现链表
代码的作用是创建了一个链表,采用头插法插入节点,每个节点内保存的是超级英雄的名字和排名,实现了简单的增删改查显五个内容。package begin;import java.util.Scanner;class heronode { int no; //存储排名 String name; //存储英雄名字 heronode next; ...原创 2020-04-03 18:49:50 · 115 阅读 · 0 评论 -
数据结构:队列(JAVA)
package begin;import java.util.*;class queuer{ final int maxsize=8; int[] data=new int[maxsize]; int head=0,real=0; queuer() { System.out.println("空队列创建成功。"); } queuer(int[] dat) { for...原创 2020-03-28 17:40:51 · 103 阅读 · 0 评论 -
数据结构:稀疏数组的存储
避免部分同学不懂什么是稀疏数组,这里介绍一下稀疏数组思路:遍历原来的数组,记录下来元素的有效数据个数sum创建一个矩阵 int[sun+1][3]第一行记录元素的行数,列数和sum后面的每一行记录的是有效数据的位置(行,列,值)然后保存这个新创建的数组恢复:读取保存的文件,然后得到原始数组有几行几列,几个有效值然后创建数组,将有效值回归到原位...原创 2020-03-28 11:58:01 · 500 阅读 · 0 评论 -
数据结构:树和森林
树树是数据结构内很重要的一种结构。不过我们此处不深究,仅讨论二叉树,线索二叉树,哈夫曼树(最优树)。二叉树定义:(1)空树;(2)只有一个根节点;(3)有左右两个子树,并且子树也是一颗二叉树(如图)。性质:1.第 i 层上最多有2i−12^{i-1}2i−1个节点.2.深度为k的树最多有2k2^k2k-1个节点,我们称之为满二叉树,满二叉树在底层从右向左减少n个节点,此时称为完全...原创 2020-02-11 21:59:21 · 2299 阅读 · 0 评论 -
数据结构:KMP算法
KMP算法是BF算法的改良版。#include<stdio.h>#define MAXSIZE 30typedef struct { char ch[MAXSIZE+1]; int length;}sstring;//新建串void setdata(sstring &w,char data){ w.ch[w.length]=data;}//显...原创 2020-02-08 18:12:28 · 311 阅读 · 0 评论 -
数据结构:BF算法
//BF算法,可以从任意位置开始比较。#include<stdio.h>#define MAXSIZE 30typedef struct { char ch[MAXSIZE+1]; int length;}sstring;//新建串void setdata(sstring &w,char data){ w.ch[w.length]=data;}...原创 2020-02-07 17:56:07 · 1053 阅读 · 0 评论 -
数据结构:顺序队和链队(C语言)
顺序队#include<stdio.h>typedef int XX;#define MAXSIZE 8typedef struct{ XX *base; int top; int rear;}queue;//入队void settop(queue &L,XX data){ if((L.top+1)%MAXSIZE==L.rear){ print...原创 2020-02-06 14:43:39 · 287 阅读 · 1 评论 -
数据结构 : 顺序栈和链栈(C语言)
#顺序栈#include<stdio.h>#define MAXSIZE 8typedef int XX;typedef struct{ XX *top; XX *base; int letter;}stack;//初始化void makenew(stack &L){ L.letter = MAXSIZE; L.base = new XX[MAXSI...原创 2020-02-03 17:27:41 · 337 阅读 · 0 评论 -
数据结构:顺序表(c语言)
···#define maxsize 100#define OK 1#define ERROR 0typedef int elemtype;#include<stdio.h>//创建结构体typedef struct{elemtype *elem;int length;}sqlist;//创建新线性表int intlist(sqlist &L){L...原创 2019-10-26 12:14:30 · 191 阅读 · 0 评论 -
数据结构:链表(C语言)
该程序为用链表实现多项式的相加相乘#define null 0#include "stdio.h"#include "stdlib.h"#include "math.h"//创建一个结构体,储存数据typedef struct{float coef; //系数 int expn; //指数}term;typedef int status; //起外号//创建一...原创 2019-10-29 07:38:07 · 178 阅读 · 0 评论 -
数据结构(栈&队):括号匹配,后缀表达式求值,栈队操作。
#include "stdio.h"#include "stdlib.h"#include "string.h"#define MAXSIZE 30#define OK 1#define OVERFLOW 0#define ERROR 0#define MAXQSIZE 30typedef int Status;//栈的定义 (字符栈)typedef struct StackN...原创 2020-01-31 17:21:02 · 200 阅读 · 0 评论 -
数据结构:块链(C语言)
#include<stdio.h>#include<stdlib.h>#include<string.h>#define chunksize 8#define null 0typedef struct chunk{ char ch[chunksize]; struct chunk *next;}chunk;typedef struct...原创 2019-11-25 21:46:14 · 1255 阅读 · 0 评论 -
数据结构:树(C语言)
#include "stdio.h"#include <stdio.h> #include "stdlib.h"#include "string.h"#include <iostream>#define NULL 0//二叉链表的存储结构定义typedef char DataType; typedef struct BiNode{ DataT...原创 2020-01-31 17:30:41 · 192 阅读 · 0 评论 -
数据结构:图(C语言)
实现图的创建,广度,深度遍历,拓扑排序。#include<stdio.h>#define MAXQSIZE 50#define MVNum 50#define error MVNum+10#define OVERFLOW 0typedef int Status;#define OK 1#define ERROR 0#define null -1#include ...原创 2019-12-12 19:02:04 · 420 阅读 · 1 评论 -
数据结构:二叉排序树(C语言)
#include "stdio.h"#include "stdlib.h"#include "string.h"#include <iostream>#define ENDFLAG 999//二叉排序树的二叉链表存储方式 typedef struct{ int key; //关键字项 }ElemType; typedef struct BS...原创 2020-01-31 17:31:53 · 342 阅读 · 0 评论 -
数据结构:排序(C语言)
#include<stdio.h>#define MAXSIZE 20typedef struct{ int key;}redtype;typedef struct{ redtype r[MAXSIZE+1]; int length;}sqlist;//堆排序void heapadjust(sqlist &L,int s, int m){ redtyp...原创 2019-12-25 17:41:01 · 325 阅读 · 0 评论