算法
文章平均质量分 74
sssssssssnake
奥力给
展开
-
数据结构和算法 第三小题 文本文件单词的检索与计数
题目如下:实验任务:建立一个文本文件,统计给定单词在文本文件中出现的总次数及位置;实现要求:文本文件中每个单词不包含空格且不跨行,单词由字符序列构成且区分大小写,统计给定单词在文本文件中出现的总次数,检索输出的某个单词出现在文本中的行号、在该行中出现的位置。设计数据量大的文本,进行子串的查询处理,分析算法运行的时间效率,对所有输出的匹配位置结果进行验证,以证明算法设计和实现的正确性。用朴素模式匹配算法或KMP算法实现字符串定位;可正确读取,保存文本;工具:IDEA jdk ...原创 2021-03-01 13:36:16 · 525 阅读 · 0 评论 -
#数据结构与算法 第一小题 学生成绩档案管理系统
写了一天,非常得没有效率,比较粗糙,注释不太丰富,但应该足以理解。强调:如有雷同,肯定被我参考了。不会写博客,以后会学习,这次就这样了。 题目是这样的:##实验任务:学生信息录入,信息包括学号、姓名、专业、四门课成绩、总分、名次;系统可对学生信息浏览、增加、删除和修改;按学生成绩确定名次及信息输出,双向冒泡排序、希尔排序、快速排序、堆排序。要求可对学生信息查询,根据学号或姓名进行查找;信息修改仅可修改四门课成绩;文件存取学生信息。##工具:IDEA java...原创 2021-02-27 21:13:09 · 434 阅读 · 0 评论 -
数据结构和算法 第二小题 九宫重排(1)
参考了csdn里的一篇文章(leetcode上没找到),他用C++写的, 双向bfs队列搜索。我把C++的代码改成了java,链接:https://blog.csdn.net/qq_45775045/article/details/112548439 总结:...原创 2021-02-28 13:37:31 · 324 阅读 · 0 评论 -
考研算法(七) 排序
往前寻找插入位置,如果找到了大于等于它的元素或者没有找到,数组越界,查找停止,将元素插入对应位置。选择一个元素作为基数(考研通常是第一个元素),把比基数小的元素放到它左边,比基数大的元素放到它右边(相当于二分),再不断递归基数左右两边的序列。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。最好:O(nlog n) ,其他的数均匀分布在基数的两边,此时的递归就是不断地二分左右序列。最坏:O(n^2) ,其他的数都分布在基数的一边,此时要划分n次了,每次O(n)原创 2022-09-18 16:27:20 · 324 阅读 · 1 评论 -
考研算法(六) 查找
这一章确实不太常用,也不常考。原创 2022-09-18 15:45:38 · 112 阅读 · 0 评论 -
考研算法(五) 图
它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。若一个由图中所有点构成的序列A满足:对于图中的每条边(x, y),x在A中都出现在y之前,则称A是该图的一个拓扑序列。bfs就是一次将所有子结点入队,依次出队扩展新的子节点入队,同时要标记已入队的结点,避免重复入队。给定一个n个点m条边的有向图,请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出-1。二叉树中有bfs的详细代码,就是二叉树层序遍历,那是比较普遍的写法。原创 2022-09-17 09:34:17 · 314 阅读 · 0 评论 -
考研算法(四) 二叉树
前序遍历有个口诀即头左右,我们第一次访问的结点就是当前子树的头结点,所以直接压入栈即可。中序遍历的顺序为左头右,我们先保证最左的结点先被处理,只需将从头结点到最左的结点全部压入即可。这里设置最近访问结点的原因在于我们不能判断这是从头结点的最左结点返回的还是从当前头结点的右子树的头结点的最左结点返回的。中序遍历的顺序为左头右,我们先保证最左的结点先被处理,只需将从头结点到最左的结点全部压入即可。我们发现栈里的最左结点的下面一个结点正好是它的头结点,将它弹出栈,然后处理右子树的结点就可以了。原创 2022-09-16 16:34:49 · 289 阅读 · 0 评论 -
考研算法(三) 队列
设计你的模拟队列。原创 2022-09-15 16:31:36 · 57 阅读 · 0 评论 -
考研算法(二) 栈
我们将栈初始化为空,然后往栈里插入元素,然后我们同时往最小栈插入一个最小值,即使当前元素不是最小值也要插入,弹出时也最小栈同时弹出。给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;维护一个单调递增的栈,遍历数组,每次将大于等于将要入栈元素的元素弹出,这样就能找到第一个比他小的元素。给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。原创 2022-09-15 15:41:51 · 139 阅读 · 0 评论 -
考研算法(一) 线性表
考研相关算法,难度一般原创 2022-09-15 14:39:22 · 1581 阅读 · 0 评论