数据结构与算法
文章平均质量分 81
杨十三v
大三在校生
展开
-
数据结构与算法-----------续时间复杂度
常见的时间复杂度。原创 2023-12-22 09:15:00 · 115 阅读 · 0 评论 -
数据结构与算法----------时间复杂度
一般情况下,算法中的基本操作语句的重复执行次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n) / f(n) 的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作 T(n)=O( f(n) ),称O( f(n) ) 为算法的渐进时间复杂度,简称时间复杂度。原创 2023-12-20 08:00:00 · 118 阅读 · 0 评论 -
数据结构与算法从零开始------------递归之八皇后问题
1)代码看着很少,实际上judge()判断函数调用了估计有上万次,验证图在下面2)单单一个递归回溯的话,效率不高,后面可以结合着贪心算法来优化,3)这个很难凭靠文字说清楚,还是要自己画图敲代码亲自理解几遍4)时间空间开销都挺大的,还待优化。原创 2023-12-14 15:38:31 · 77 阅读 · 0 评论 -
数据结构与算法-----------递归之迷宫回溯问题
1)递归就是方法自己调用自己,每次调用时传入变量.原创 2023-12-11 11:00:00 · 71 阅读 · 0 评论 -
数据结构与算法从零开始----------------004栈--初识
1)栈的英文为(stack)2)栈是一个先入后出(FILO-First In Last Out)的有序列表。3)栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。4)根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除。原创 2023-12-01 18:00:38 · 37 阅读 · 0 评论 -
数据结构与算法从零开始------------------环形单链表(约瑟夫环)
在第一章时,我们简单提到了约瑟夫环(即丢手帕)的问题:想必,这个游戏我们小时候或多或少都接触过,现在把它转换为代码实现,即Josephu 问题:设编号为1,2,… n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。原创 2023-11-29 17:48:03 · 54 阅读 · 0 评论 -
数据结构与算法从零开始----------双向链表
1)单向链表,查找的方向只能是一个方向。2)单向链表不能自我删除,需要靠辅助节点 ,所以前面我们单链表删除节点时,总是找到temp,temp是待删除节点的前一 个节点.原创 2023-11-28 19:00:18 · 39 阅读 · 0 评论 -
数据结构与算法从零开始--------003线性结构之单链表(2)
要求:1)完成对英雄人物的增删改查操作2)第一种方法在添加英雄时,直接添加到链表的尾部2)第二种方式在添加英雄时,根据排名将英雄插入到指定位置 (如果有这个排名,则添加失败,并给出提示)上一章完成了要求2,即第一种方法,这一张将要完成第二种方法和对英雄人物的增删改查操作即对链表的增删改查操作。原创 2023-11-14 14:48:51 · 46 阅读 · 0 评论 -
数据结构与算法从零开始---------002线性结构(续队列)
1)队列是一个有序列表,可以用数组或是链表来实现。2)遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出。原创 2023-11-09 17:51:27 · 44 阅读 · 1 评论 -
数据结构与算法从零开始--------002线性结构(续环形队列)
上个博客完成了用数组实现队列的先进先出的基本功能了,但存在一定的缺点,就是不能重复使用,即一次性队列,在这篇将解决这个问题。原创 2023-11-10 09:00:00 · 40 阅读 · 0 评论 -
数据结构与算法从零开始---------------002线性结构
数据元素之间存在一对一的线性关系。原创 2023-11-05 09:30:00 · 49 阅读 · 1 评论 -
数据结构与算法从零开始-----------003线性结构之单链表(1)
1) 链表是有序的列表2)链表是以节点的方式来存储,是链式存储3)每个节点包含 data 域, next 域:指向下一个节点.4)链表的各个节点不一定是连续存储. 链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定。原创 2023-11-13 15:59:13 · 44 阅读 · 0 评论 -
数据结构与算法从零开始------------------------001导学和初识
1)一个字符串str1="数据结构 与算法 数据结构与" 和另一个字符串str2 = "数据结构与"2) 现让你判断str1是否包含str2,如果存在,就返回第一次出现的位置, 如果没有,则返回-13)并要求用最快的速度来完成匹配4)请提供你的思路当然,面对这些我们可以很容易的想到暴力匹配,即拿str2中的字符串一个一个的和str1中的相比.虽然能做出来,但好像违背了最快速度匹配的要求.结果展示:这样的话,可以引出KMP算法.(这个是大二的时候学的一个算法后面复习到时会详细的写出见解)原创 2023-11-03 09:00:00 · 42 阅读 · 0 评论