![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 85
A91A981E
这个作者很懒,什么都没留下…
展开
-
【数据结构与算法】单词查找题解(直接查找 & 折半查找 & 有索引表的折半查找 & Hash查找)
题目大意给定一个单词表“dictionary3000.txt”,单词表已经排好序,通过指定的方式,从下面四种方法查找出单词,输出找到与否并给出查找次数。在单词表中以顺序查找方式查找,因为单词表已排好序,遇到相同的或第一个比待查找的单词大的单词,就要终止查找;在单词表中以折半查找方式查找;在单词表中通过索引表来获取单词查找范围,并在该查找范围中以折半方式查找。索引表构建方式为:以26个英文字母为头字母的单词在字典中的起始位置和单词个数来构建索引表,如:字母起始位置单词个数a原创 2021-04-12 14:49:11 · 546 阅读 · 0 评论 -
【数据结构与算法】图的遍历及连通性、在家谱中查找关系远近(LCA最近公共祖先)
本周数据结构与算法实验共3个题目,这三个题目难度适中,其中有一个是最小生成树,后面有时间专门写一下这个。所以就先写两个。 第一题考察邻接矩阵的使用以及连通分量的查找,第二题是二叉树和最近公共祖先(LCA)的应用1. 图的遍历及连通性【问题描述】根据输入的图的邻接矩阵A,判断此图的连通分量的个数。【输入形式】第一行为图的结点个数n,之后的n行为邻接矩阵的内容,每行n个数表示。其中A[i][j]=1表示两个结点邻接,而A[i][j]=0表示两个结点无邻接关系。【输出形式】输出此原创 2021-03-29 14:21:23 · 382 阅读 · 0 评论 -
【数据结构与算法】Huffman编码文件压缩
题目【问题描述】编写一程序采用Huffman编码对一个正文文件进行压缩。具体压缩方法如下:对正文文件中字符(换行字符’'除外,不统计)按出现次数(即频率)进行统计依据字符频率生成相应的Huffman树(未出现的字符不生成)依据Huffman树生成相应字符的Huffman编码依据字符Huffman编码压缩文件(即按照Huffman编码依次输出源文件字符)。说明:只对文件中出现的字符生成Huffman,注意:一定不要处理\n,即不要为其生成Huffman码。采用AS原创 2021-03-20 23:22:35 · 348 阅读 · 1 评论 -
计算器(表达式计算-后缀表达式实现)逆波兰表达式
【问题描述】从标准输入中读入一个整数算术运算表达式,如24 / ( 1 + 2 + 36 / 6 / 2 - 2) * ( 12 / 2 / 2 )= ,计算表达式结果,并输出。要求:1、表达式运算符只有+、-、*、/,表达式末尾的=字符表示表达式输入结束,表达式中可能会出现空格;2、表达式中会出现圆括号,括号可能嵌套,不会出现错误的表达式;3、出现除号/时,以整数相除进行运算,结果仍为整数,例如:5/3结果应为1。4、要求采用逆波兰表达式来实现表达式计算。【输入形式】从键盘输入一个以原创 2021-03-15 18:43:50 · 626 阅读 · 0 评论 -
A*算法(A-star Algorithm)搜索最短路径(含C/C++语言实现代码)
目录基本介绍基本原理有关定义和变量介绍具体搜索过程结束条件与Dijkstra算法的比较实现代码运行结果参考文章基本介绍 在我们的日常生活中由许多方面都会涉及到 “最短路径” 的搜索问题,比如ROS机器人中根据给定地图进行全局路径规划,或者游戏中NPC的移动计算,线上游戏的的BOT计算等。A*算法作为一种较为高效的算法经常被应用在以上环境中。基本原理 A*算法实现的基本原理是将地图虚拟化并划分成小方块(单元格)以便使用二维数组进行保存,然后搜索当前点周围的点,并从中选原创 2021-01-31 11:17:49 · 4939 阅读 · 6 评论 -
【数据结构与算法】二叉排序树构造与遍历
【问题描述】从标准输入中读入n个数值元素,请将它们用二叉排序树存储,并输出该二叉排序树的层次和中序序列.【输入形式】首先输入一个整数n表示元素个数,然后再依次输入n个元素的值,每个元素之间用空格分割.例如:850 35 70 40 50 65 20 80说明:表明有8个元素,分别为50,35,70,40,50,65,20,和80.【输出形式】输出形式为两行,第一行为二叉排序树的层次数,第二行为二叉排序树的中序序列.【样例输入】1050 30 80 10 90 95 70原创 2021-03-20 22:26:07 · 2634 阅读 · 1 评论 -
最长升序子串
【问题描述】输入一行字符串,该字符串只由小写英文字母a-z组成,且其中的字符可以重复,最长不超过10000个字符。从该字符串中按顺序挑选出若干字符(不一定相邻)组成一个新串,称为“子串”。如果子串中每两个相邻的字符或者相等,或者后一个比前一个大,则称为“升序子串”。编程求出输入字符串的最长升序子串的长度。例如,由输入字符串abdbch可以构成的升序子串有:abd、abch、bbch、abbch等。其中最长的升序子串是abbch,其长度为5。【输入形式】从标准输入读取一行字符串,该串不.原创 2021-03-15 17:50:25 · 1944 阅读 · 0 评论 -
三分法求函数极值
三分法求函数极值 类似于二分法思想,三分算法主要应用于求解非线性函数的极值问题,是一种通过不断迭代,求得函数极值点近似解的算法。 如图所示,已知函数f(x)在点left和点right中间存在一个极值点,现在我们的任务就是找到这个极值点或者计算函数在这个区间上的极值。在这里,与二分法图片不同的是,mid点有左右两个(都是三等分点)分别记为midl和midr,则易得:midlx=leftx+rightx−leftx3=2∗leftx+rightx3midl_{x} = left_{x}+ \fra原创 2021-01-17 18:57:46 · 2826 阅读 · 2 评论 -
HDU 2037 今年暑假不AC 个人题解(贪心||动态规划)
HDU 2037 今年暑假不AC 个人题解(贪心&&动态规划)训练的时候遇见的一道题,个人感觉收获蛮多的。题目传送门题目大意:给你一张电视节目单时刻表,包含每个节目的开始时间和结束时间,求最多能看多少个节目。样例输入第一行是节目的个数n,下面n行是每个节目的开始时间(from)和结束时间(to)。n==0时结束输入。121 33 40 73 815 1915 2010 158 186 125 104 142 90样例输出5贪心算法原创 2021-01-18 21:17:52 · 477 阅读 · 0 评论