数据结构和算法
九霄云客
一个脚踏实地的梦想家
展开
-
数据结构(树)---并查集的应用及使用规则
并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。主要操作:初始化:把每个点所在集合初始化为其自身。查找:查找两个元素所在的集合,即找祖宗。(注意:查找时,采用递归的方法找其祖宗,祖宗集合号等于自己时即停止。在回归时,把当前结点到祖宗路径上的所有结点统一为祖宗的集合号。)合并:如果两个元素的集合号不同,将两个元素合并为一个集合。(注意:合并时只需要把一个元素的祖宗集合号...原创 2020-01-27 18:01:49 · 256 阅读 · 0 评论 -
数据存储结构---领接表的应用及使用规则
领接表是图的一种最主要的存储结构,用来描述图上的每一个点。#include <bits/stdc++.h>using namespace std;const int N=10000;struct Node{//定义表结点int v;//以v为弧头的顶点编号int w;//边的权值Node *next;//指向下一个邻接结点 }; struct Hnode{//定义...原创 2020-01-23 15:19:13 · 486 阅读 · 0 评论 -
数据结构杂记(补)
此篇为数据结构杂记的补充声明:原创 2019-08-23 21:41:24 · 123 阅读 · 0 评论 -
数据结构学习杂记
在学习数据结构的过程中我们会遇到一些较典型的计算概念题 理清这些对我们进一步的学习有挺大的帮助,以下我就罗列了一些较为简单的典型题类,希望可以给大家一点帮助。...原创 2019-07-11 22:34:14 · 168 阅读 · 0 评论 -
数据结构>>>图形结构>>图的存储
图的存储:邻接矩阵领接表—主要是用于稀疏矩阵,为了避免直接用邻接矩阵而造成的浪费。1.结构描述:typedef struct { char vex[Maxsize];//邻接表的顶点数组 int arcs[Maxsize][Maxsize];//邻接矩阵的数据数组 int n;//边数 int e;//顶点数}AdjMat;//邻接矩阵的数据类型typedef stru...原创 2019-06-05 09:19:23 · 367 阅读 · 0 评论 -
算法基础===》==》=》排序(内部排)
一些最基本的排序算法:插入排序交换排序选择排序@ 插入排序:1-直接插入排序:从前端插入从后端插入2-希尔(Shell)排序1-直接插入排序:从前端插入:int arr[]={999,1,2,5,8,4,3,9,7};//"999"是一个容储器(arr[0]是一个监视哨),不参与排序。void InsertSort(int n){ int i,j; for...原创 2019-06-09 08:33:09 · 5148 阅读 · 2 评论 -
数据结构>>>树状结构>>链式二叉树
链式二叉树:遍历:前序中序后序下面是具体实现:1.前序遍历:void PreTraverseLTree(struct LTNode *pT){ if(pT!=NULL) { cout<<pT->data<<'\t'; if(pT->pLchild!=NULL) PreTraverseLTree(pT->pLchild)...原创 2019-06-03 09:04:18 · 307 阅读 · 0 评论 -
数据结构>>>数组与链表的应用>>循环队的顺序实现
循环队的顺序实现:结构描述初始化入队出队下面是具体实现:1.结构描述:typedef struct Queue{ int *pBase; int front; int rear;}QUEUE;2, 初始化:void init(QUEUE *pQ){ pQ->pBase=(int *)malloc(sizeof(int)*6); pQ->front...原创 2019-06-02 17:19:56 · 193 阅读 · 0 评论 -
数据结构>>>数组与链表的应用>>栈的实现
栈:结构描述初始化压栈出栈下面是具体实现:1.结构描述:typedef struct Node//构造结点{ int data; struct Node *pNext;}NODE,*PNODE;typedef struct Stack//构造栈的元素{ PNODE pTop; PNODE pBottom;}STACK,*PSTACK;2, 初始化:voi...原创 2019-06-02 13:39:24 · 302 阅读 · 0 评论 -
算法基础===》==》=》查找
一些基本的查找算法:顺序查找折半查找哈希表(Hash)查找#include<iostream>#include<string.h>using namespace std;//1.结构描述:typedef struct{ char sno[4];//编号 char name[10];//姓名 char pos[3];//座位 int engli...原创 2019-06-06 23:17:41 · 8042 阅读 · 10 评论 -
数据结构>>>链表的实现>>单链表
的基础上原创 2019-06-01 18:35:58 · 205 阅读 · 0 评论 -
数据结构>>>顺序表的实现>>顺序存储.
顺序数组:结构描述初始化插入\删除倒置查找排序(冒泡)下面是具体实现:结构描述:typedef struct{ int *felem;//第一个元素地址 int len;//数组的最大容纳量 int cnt;//当前数组有效元素个}sqlist;2.初始化:void init_sqlist(sqlist *L ,int length){ L->fe...原创 2019-06-01 10:14:31 · 288 阅读 · 0 评论 -
数据结构>>>图的应用>>"贪婪法则"
“贪婪法则”:深搜最短路径(迪杰斯特拉算法)最小生成树(克鲁斯卡算法)1.深搜:void DFS(AdjMat g,int v){ int i=0; visit[v]=1; cout<<v<<" "; for(;i<g.n;i++) { if(g.arc[v][i]<Max && !visit[i])//v能够...原创 2019-06-06 07:56:59 · 1410 阅读 · 0 评论