数据结构算法设计
文章平均质量分 75
给你糖ya
程序和人只有一个能跑!
展开
-
考研数据结构——串(含KMP算法超详细手推过程!)
字符串模式匹配,就是在主串中找到与模式串相同的子串,并返回其所在位置。原创 2024-04-11 19:34:22 · 1460 阅读 · 0 评论 -
考研数据结构——栈和队列(最全!)
线性表:线性表是具有相同数据类型的n个数据元素的有限序列,其中n为表长,当n=0时为空表。栈(stack):栈是只允许在一端进行插入或删除操作的线性表,即只能从栈尾插入删除。重要术语:栈顶、栈底、空栈。LIFO:last in first out,即后进先出。所以栈的逻辑结构和普通线性表没有差别,数据操作上插入和删除操作有区别。//链栈定义int data;}*LiStack;队列是一种操作受限的线性表,即只允许在一端进行插入(入队),在另一端进行删除(出队)的线性表。队列是先进先出。原创 2024-04-08 15:31:51 · 1119 阅读 · 0 评论 -
考研数据结构——中缀转后缀(用栈实现)
黑笔是栈,红笔是当前扫描的位置,蓝笔是当前后缀表达式。需要注意的是第⑧步中,“-”没有直接出栈是因为暂时不能确定它的运算顺序,比如D后面如果跟个“*”就要先计算后面的,所以要把“-”压入栈。依次弹出栈中优先级高于或等于当前运算符的所有运算符,并加入后缀表达式,若碰到“(”或栈空则停止,之后再把当前运算符入栈。遇到 “(” 直接入栈,遇到 “)” 则依次弹出栈内运算符并加入后缀表达式,直到弹出“)”为止。考察进行到某一步时,栈内的情况是怎么样的,选择题。从左到右处理各个元素,直到末尾。,并加入后缀表达式。原创 2024-04-05 21:17:15 · 250 阅读 · 0 评论 -
考研数据结构——链表相关大题(含解析和代码超详细)
1.链表题常用方法有:头插法、尾插法、逆置法、归并法、双指针法等。2.对于顺序表,因为可以直接存取,所以经常结合排序和查找的几种算法设计思路进行设计,如归并排序、二分查找等。3.对于算法设计题,若能写出数据结构类型的定义、正确的算法思想,则至少给一半的分数;若能用伪代码写出自然更好;比较复杂的地方可以直接用文字表达。4.本章节(包括顺序表的内容,即下面这个链接)的所有习题要二刷三刷,一定要掌握!!!考研数据结构——线性表相关大题(含解析和代码)_数据结构考研真题线性表-CSDN博客。原创 2024-04-01 16:06:45 · 1374 阅读 · 0 评论 -
考研数据结构——顺序表相关大题(含解析和代码)
本文习题均来自25王道考研的教材课后习题,在给出答案的基础上加上自己的分析,方便大家理解学习,部分题目我列出了我本人的解法和王道书的解法,大家对比着看会更有体会。算法大题不需要找到最优算法,考试中直接使用暴力解法就可以,不要在乎时空复杂度,哪怕用最烂的算法,只要写对,并且对应的时空复杂度写对,最多扣3分,如果是次优算法,只扣1-2分。最优算法是为了学习不是为了答题!原创 2024-03-23 21:57:34 · 1288 阅读 · 2 评论 -
考研数据结构——线性表(顺序表&链表)最全!含代码!
和顺序表相比,单链表是链式存储而不是顺序存储,即在内存中是离散存储的,每个结点除了存放数据元素外还要存放指向下一个节点的指针;不需要大片连续空间,改变容量方便;但是不可随机存取,要耗费一定空间存放指针。typedef struct DNode { //定义单链表的结点类型int data;//每个结点存放一个数据元素//prior指向前驱结点,next指向后继结点单链表的各个结点离散地分布在内存中的各个地方;静态链表会分配一整块连续的内存空间来存放各个结点,各个结点不一定连续但都在这一块内存中。原创 2024-03-20 21:55:19 · 1522 阅读 · 0 评论 -
数据结构算法设计——二叉树的遍历(先序,中序,后序)
根左右先访问根节点,再先序访问左子树,再先序访问右子树(每个子树本身是一棵树)。n 个结点先序遍历的情况有 C(2n,n)/(n+1) 种。左根右。先中序访问左子树,再访问根节点,然后中序访问右子树。原创 2023-06-16 23:43:47 · 668 阅读 · 0 评论 -
数据结构算法设计——树和森林的存储及概念
上面前三种方式是树的存储方式,第四种是树和森林转化成二叉树的方式,森林的存储方式为:先把森林转化成二叉树,再存储二叉树。森林的每一个最开始的父节点是兄弟关系。原创 2023-06-16 23:21:56 · 985 阅读 · 0 评论 -
数据结构算法设计——哈希表(散列表)
哈希表又叫散列表,他们两个是同一个东西,本文全文采用“散列表”的叫法。散列表的本质其实就是一个数组,他的作用就像使用数组时一样,输入下标可以得到对应元素,散列表可以实现输入一个关键字的时候得到这个关键字的地址信息。原创 2023-04-21 17:50:00 · 1429 阅读 · 1 评论 -
数据结构算法设计——二分法(含蓝桥杯真题--分巧克力)
简单来说,二分查找是一个时间效率极高的算法,尤其是面对大量的数据时,其查找效率是极高,时间复杂度是log(n)。主要思想就是不断的对半折叠,每次查找都能除去一半的数据量,直到最后将所有不符合条件的结果都去除,只剩下一个符合条件的结果。原创 2023-04-01 17:00:23 · 220 阅读 · 0 评论 -
数据结构算法设计——选择排序(简单选择排序/堆排序)
数据结构算法设计——选择排序(简单选择排序/堆排序)原创 2023-02-06 14:40:33 · 167 阅读 · 1 评论 -
数据结构算法设计——快速排序
数据结构算法设计——快速排序原创 2023-01-31 20:18:45 · 220 阅读 · 0 评论 -
数据结构算法设计——希尔排序
数据结构算法设计——希尔排序原创 2023-01-31 11:32:23 · 161 阅读 · 0 评论 -
数据结构算法设计——插入排序/折半插入排序
数据结构算法设计——插入排序原创 2023-01-30 20:06:40 · 258 阅读 · 0 评论 -
数据结构算法设计——动态规划——最长不下降子序列LIS
数据结构算法设计——动态规划——最长不下降子序列LIS原创 2022-12-11 11:41:38 · 1325 阅读 · 0 评论 -
数据结构算法设计——动态规划——最长公共子序列LCS
数据结构算法设计——动态规划——最长公共子序列LCS原创 2022-12-10 21:58:44 · 855 阅读 · 0 评论 -
数据结构算法设计——动态规划——01背包问题(二维数组)
数据结构算法设计——动态规划——01背包问题(二维数组)原创 2022-12-09 10:21:53 · 268 阅读 · 0 评论 -
数据结构算法设计——深搜DFS(走迷宫)
数据结构算法设计——深搜DFS(走迷宫)原创 2022-12-03 12:35:21 · 2393 阅读 · 8 评论