数据结构
Reacubeth
imperfect but true
展开
-
Leetcode1293.网格中的最短路径
给你一个 m * n 的网格,其中每个单元格不是 0(空)就是 1(障碍物)。每一步,您都可以在空白单元格中上、下、左、右移动。如果您 最多 可以消除 k 个障碍物,请找出从左上角 (0, 0) 到右下角 (m-1, n-1) 的最短路径,并返回通过该路径所需的步数。如果找不到这样的路径,则返回 -1。示例 1:输入:grid =[[0,0,0],[1,1,0],[0,0,0],[0,1,1],[0,0,0]],k = 1输出:6解释:不消除任何障碍的最短路径是 10。消除位置原创 2020-10-24 00:04:11 · 1092 阅读 · 0 评论 -
简单区块链Python实现
什么是区块链区块链是一种数据结构,也是一个分布式数据库。从技术上来看:区块是一种记录交易的数据结构,反映了一笔交易的资金流向。系统中已经达成的交易的区块连接在一起形成了一条主链,所有参与计算的节点都记录了主链或主链的一部分。组成区块头区块头主要包含的三组元数据分别是:(1)用于连接前面的区块、索引自父区块哈希值的数据;(2)挖矿难度、时间戳、Nonce(随机数,用于工作量证明算法的计数...原创 2019-11-04 16:39:19 · 1774 阅读 · 0 评论 -
并查集应用——PAT甲级2019春季
并查集适用问题举例1、已知,有n个人和m对好友关系2、如果两个人是直接的或者间接的好友(好友的好友的好友。。。),那么他们属于一个集合,就是一个朋友圈中3、写出程序,求这n个人中一共有多少个朋友圈更详细请查看http://www.omegaxyz.com/2019/02/25/union-find/PAT-2019年春季考试-甲级-3Telefraud(电信诈骗) remains a...原创 2019-07-24 10:07:07 · 407 阅读 · 0 评论 -
红黑树简介与C++应用
简介红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由Rudolf Bayer发明的,当时被称为平衡二叉B树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的“红黑树”。红黑树和AVL树类似,都是...原创 2019-05-02 19:29:53 · 1126 阅读 · 0 评论 -
素数筛C++
埃拉托斯特尼筛法(sieve of Eratosthenes ) 是古希腊数学家埃拉托斯特尼发明的计算素数的方法。对于求解不大于n的所有素数,我们先找出sqrt(n)内的所有素数p1到pk,其中k = sqrt(n),依次剔除Pi的倍数,剩下的所有数都是素数。具体操作如上述 图片所示。C++实现#include<iostream>#include<vector>u...原创 2019-05-02 19:17:11 · 1139 阅读 · 0 评论 -
三路快排C++实现与应用
本文共467个字,预计阅读时间需要2分钟。三路快排是快速排序算法的升级版,用来处理有大量重复数据的数组。主要思想是选取一个key,小于key的丢到左边,大于key的丢到右边,递归实现即可。具体操作过程参考:https://blog.csdn.net/k_koris/article/details/80585979C++代码:#include<iostream> usin...原创 2019-04-06 12:29:57 · 1301 阅读 · 0 评论 -
二叉树遍历的转换C++实现
二叉树的遍历分为以下三种:先序遍历:遍历顺序规则为【根左右】中序遍历:遍历顺序规则为【左根右】后序遍历:遍历顺序规则为【左右根】什么是【根左右】就是先遍历根,再遍历左节点,最后遍历右节点。举例来说:先序遍历:ABCDEFGHK中序遍历:BDCAEHGKF后序遍历:DCBHKGFEA在转换过程中要注意:先序遍历根节点在首项中序遍历根节点在中间后序遍历根节点在最后因...原创 2019-02-01 15:53:42 · 1426 阅读 · 0 评论 -
数据结构电视大赛投票系统
电视大赛观众投票及排名系统的设计与实现( 8学时) 问题描述:在很多的电视大赛中,通常当选手表演结束后,现场观众通过手中的按键对参赛选手进行投票,然后对选手获得的票数进行统计,从高到低进行降序排序,从而自动产生冠军、亚军和季军。要求编写算法模拟实现上述系统的功能。 1.基本要求 (1)首先输入参赛选手的人数(范围为1-9个),然后根据人数通过malloc函数来分配存放选手信息的顺序表; (原创 2018-02-03 11:59:37 · 7620 阅读 · 9 评论 -
数据结构串的基本操作及KMP算法
将串的基本操作C语言实现,实现KMP算法算出NEXT函数和NEXTVAL的值。SqString.h的基本内容typedef int Status;typedef struct{ unsigned char data[MAXSTRLEN+1]; int length;}SString;Status StrInput(SString &S);void StrAssign(SStr原创 2017-08-07 11:35:24 · 1480 阅读 · 0 评论 -
稳定排序和不稳定排序
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj,Ai原来在位置前,排序后Ai还是要在Aj位置前。其次,说一下稳定性的好处。排序算法如果是稳定的,那么从一个键上排序,然后原创 2017-08-07 11:27:47 · 422 阅读 · 0 评论 -
课程设计哈夫曼编/译码系统
更多内容访问:omegaxyz.com 问题描述:利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(解码)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站设计一个哈夫曼编译码系统。1.基本要求(1)初始化(Initialzation)。原创 2017-07-03 10:29:01 · 4677 阅读 · 10 评论 -
课程设计旅游景点咨询系统
欢迎访问我的网站:omegaxyz.com 问题描述:创建一个至少有15个点的有向网表示的某个旅游景点的导游图。顶点代表景点,类型为字符串(例如,泰山导游图:“天地广场门”,“十八盘”,“冯玉祥墓”,“桃花峪门”,“中天门”,“南天门”,“玉皇顶”等),弧表示两个景点之间可以直达,弧上的权值表示两个景点之间的路程(公里数),弧上还有到达方法的信息(有步行和索道两种)。建立一个游客咨询系统。1.基本原创 2017-07-22 09:36:33 · 3282 阅读 · 2 评论 -
迷宫问题的通用解法C语言数据结构实现
1.1问题描述 以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。1.2基本要求 输入的形式和范围: 非递归:行列为整型,坐标为整型递归:迷宫以整型二维数组形式输入输出的形式:非递归输出三元组通路和方阵通路; 递归以方阵输出迷宫和所有通路;1、非递归算法,求一条通路输出三元组形式如:(1,1,1)原创 2017-06-19 23:20:02 · 7062 阅读 · 1 评论 -
数据结构Huffman树及编码
一、 实验目的构造一个哈夫曼树,并根据所构造的哈夫曼树求其哈夫曼树的编码; 二、 基本思路将每个英文字母依照出现频率由小排到大,最小在左,组成一个序列每个字母都代表一个终端节点(叶节点),比较每个字母的出现频率,将最小的两个字母频率相加合成一个新的节点,将两个字母从序列中删除,将生成的节点加入到字母队列中重复前面两步,直到序列中没有字母为止 进行编码:给霍夫曼树的所有左链结’0’与右链结原创 2017-06-16 23:42:56 · 2166 阅读 · 2 评论 -
数据结构试题
数据结构300页最新试题 C语言实现 供个人学习,严禁转载,复制等!!! 链接:http://pan.baidu.com/s/1kVHixan原创 2017-01-26 17:04:23 · 749 阅读 · 0 评论