数据结构与算法
常用数据结构与算法
会飞天的蜗牛
这个作者很懒,什么都没留下…
展开
-
最长回文字符
描述Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),找出最长的有效密码串吗?输入描述:输入一个字符串(字符串的长度不超过2500)输出描述:返回有原创 2021-11-18 11:17:56 · 224 阅读 · 0 评论 -
合唱队(动态规划)
描述计算最少出列多少位同学,使得剩下的同学排成合唱队形N 位同学站成一排,音乐老师要请其中的 (N - K) 位同学出列,使得剩下的 K 位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为 1,2…,K ,他们的身高分别为 T1,T2,…,TK , 则他们的身高满足存在 i (1<=i<=K) 使得 T1<T2<…<Ti-1Ti+1>…>TK 。你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成原创 2021-11-18 10:29:43 · 977 阅读 · 0 评论 -
迷宫问题(回溯、栈)
描述定义一个二维数组 N*M ,如 5 × 5 数组下所示:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的路线。入口点为[0,0],既第一格是可以走的路。本题含有多组数据。数据范围: 2<= n,m <=10, 输入的内容原创 2021-11-18 10:14:17 · 988 阅读 · 0 评论 -
图-深度优先遍历
概述深度优先遍历,从初始访问结点出发,初始访问结点可能有多个邻接结点,深度优先遍历的策略就是首先访问第一个邻接结点,然后再以这个被访问的邻接结点作为初始结点,访问它的第-一个邻接结点,可 以这样理解:每次都在访问完当前结点后首先访问当前结点的第一个邻接结点。深度优先遍历下图所有顶点;思路:1、先访问初始节点v,并标记v为已访问。2、查找结点v的第一个邻接节点w。3、若w存在,则继续执行4,如果w不存在,则退回到第1步。4、若w未被访问,对w进行深度优先遍历(即把w当做另一个v,然后进行原创 2021-11-12 17:03:20 · 1145 阅读 · 0 评论 -
Dijkstra单源最短路径算法(广度优先)
112165原创 2021-11-12 14:33:49 · 791 阅读 · 0 评论