数据结构
文章平均质量分 77
成成你好呀
学无止境|大道至简
展开
-
图的深度优先遍历 广度优先遍历
实现图(无向图)的深度优先遍历和广度优先遍历广度优先中用到了循环队列代码实现:#include<stdio.h>#include<stdlib.h>#define MAX 30 //最大结点数 #define QSIZE 40//队列 typedef enum{ FALSE,TRUE }BoolFT;//枚举 BoolFT visited[MAX];typedef ch原创 2021-04-23 16:20:46 · 161 阅读 · 0 评论 -
数据结构与算法之六大排序(C语言)
C语言代码实现:#include<iostream>#include<stdlib.h>#include<cstdio>#include<iomanip>#include<time.h>using namespace std;int a[2000] ;int temp[2000];int *b = a;void output(int *);//-----------------冒泡排序--------------------原创 2021-04-23 16:13:03 · 144 阅读 · 0 评论 -
成成你好呀笔记整理(知识点合集七)
第六十九讲 查找算法1.静态查找和动态查找静态查找: 数据集合稳定,不需要添加,删除元素的查找操作。动态查找: 数据集合在查找的过程中需要同时添加或删除元素的查找操作。2.查找结构对于静态查找来说: 我们不妨可以用线性表结构组织数据,这样可以使用顺序查找算法。 如果我们再对关键字进行排序,则可以使用折半查找算法或斐波那契查找算法等来提高查找的效率。对于动态查找来说: 我们则可以考虑使用二叉排序树的查找技术,另原创 2021-04-23 10:49:04 · 187 阅读 · 0 评论 -
成成你好呀笔记整理(知识点合集六)
第六十二讲 最小生成树|【普里姆算法】1.最小生成树小苍童鞋的难题: 领导要求在A-I的9个网络中添加通信网络,连线之间的值叫做权值,表示村庄之间搭设通信网络的成本,领导要求用最小的成本完成任务。方案一成本:11+26+20+22+18+21+24+19=161方案二成本:8+12+10+11+17+19+16+7=100方案三成本:8+12+10+11+16+19+16+7=992.普里姆算法普里姆算法(Prim算法): 图论中的一原创 2021-04-22 21:44:36 · 259 阅读 · 4 评论 -
成成你好呀笔记整理(知识点合集五)
第五十四讲 图的定义与术语 |【万’恶’图为首】1.图在前边讲解的线性表中,每个元素之间只有一个直接前驱和一个直接后继。在树形结构中,数据元素之间是层次关系。并且每一层上的数据元素可能和下一层中多个元素相关,但只能和上一层中一个元素相关。但这仅仅都只是一对一,一对多的简单模型。如果要研究如人与人之间关系就非常复杂了。万恶图为首,前边可能有些童鞋会感觉树的术语好多。可来到了图这章节,你才知道什么叫做真正的术语多!2.图的定义图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成。原创 2021-04-20 22:24:09 · 183 阅读 · 0 评论 -
成成你好呀笔记整理(知识点合集四)
第四十讲 树 |【附小甲鱼指点江山珍藏图】之前我们一直在讨论的是一对一的线性结构,无论是线性表也好,栈和队列也罢,都是2P模式。可现实生活中,3P、4P等现象比比皆是!例如: 一个年轻的妈妈生了4个孩子,而每个孩子都不像他们的爸爸,那么这类情况我们用线性结构的形式就不足以描述了! 所以我们需要研究这种一对多的数据结构: 树1.树的定义树(Tree)是n(n>=0)个结点的有限集。推荐阅读:程序员眼中的“树”当n=0时成为空树,在任意一棵非空树中:有原创 2021-04-18 22:10:13 · 271 阅读 · 0 评论 -
成成你好呀笔记整理(知识点合集三)
第三十三讲 汉诺塔1.汉诺塔一位法国数学家曾编写过一个印度的古老传说: 在世界中心贝拿勒斯的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。 不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。 僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众原创 2021-04-18 20:47:06 · 804 阅读 · 0 评论 -
成成你好呀笔记整理(知识点合集二)
第二十三讲 栈和队列1.栈的定义这把M1911A1深藏“栈”的功与名!栈是一种重要的线性结构,可以这样讲,栈是前面讲过的线性表的一种具体形式。就像我们刚才的例子,栈这种后进先出的数据结构应用是非常广泛的。在生活中,例如我们的浏览器,每点击一次“后退”都是退回到最近的一次浏览网页。例如我们Word,Photoshop等的“撤销”功能也是如此。再例如我们C语言的函数,也是利用栈的基本原理实现的。官方定义:栈(Stack)是一个后进先出(Last in first out,LIFO)的线性表,它原创 2021-04-17 22:14:31 · 238 阅读 · 0 评论 -
成成你好呀笔记整理(知识点合集一)
第一讲:数据结构和算法绪论1.什么是数据结构?数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。数据结构就是关系,没错,就是数据元素相互之间存在的一种或多种特定关系的集合。数据结构 + 算法 = 程序设计2.数据结构分为哪两种结构?(1)逻辑结构:数据对象中数据元素之间的相互关系,也是后续的重点。(2)物理结构:数据的逻辑结构在计算机中的存储形式。3.四大逻辑结构①集合结构中的数据元素除了同属于一个集合外,之间没有啥“不原创 2021-04-16 23:03:20 · 291 阅读 · 0 评论 -
简单二叉树代码实现(先序、中序、后序)
简单二叉树代码实现(先序、中序、后序)翻译 2019-05-14 08:57:30 · 1255 阅读 · 1 评论 -
C语言实现字符串拼接
C语言实现字符串拼接#include<stdio.h>char *Mystrcat(char *str1,char *str2){ char *outcome=str1; while(*str1)str1++; while(*str1++=*str2++); return outcome;}int main(){ //char str1[1024]="ABCD...原创 2019-04-28 20:22:32 · 9721 阅读 · 0 评论 -
循环队列基本操作实现(C++)
循环队列基本操作实现(C++)注意:*bool queue_empty(seqqueue Q)与void init_queue(seqqueue *Q)取值的区别// Queue.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <iostream&...原创 2019-04-28 19:50:46 · 813 阅读 · 0 评论 -
BF算法示意图解
字符串匹配的BF算法转自:http://www.cnblogs.com/jingmoxukong/p/4343770.html蛮力算法 (BF算法)蛮力算法(Brute-Force),简称BF算法。算法思想BF算法的算法思想是:从目标串T的的第一个字符起与模式串P的第一个字符比较。若相等,则继续对字符进行后续的比较;否则目标串从第二个字符起与模式串的第一个字符重新比较。直至模式串...原创 2019-04-27 11:34:02 · 4655 阅读 · 4 评论