
数据结构和算法
文章平均质量分 65
mtgo666
这个作者很懒,什么都没留下…
展开
-
基础算法——冒泡排序
1、思想 它的基本思想是对所有相邻记录的关键字值进行比效,如果是逆顺(a[j]>a[j+1]),则将其交换,最终达到有序化; 其处理过程为: 将整个待排序的记录序列划分成有序区和无序区,初始状态有序区为空,无序区包括所有待排序的记录。 对无序区从前向后依次将相邻记录的关键字进行比较,若逆序将其交换,从而使得关键字值小的记录向上”飘浮”(左移),关键字值大的记录好像石块,向下“堕落”(右移)。 每经过一趟冒泡排序,都使无序区中关键字值最大的记录进入有序区,对于由n个记录组成的记录序列,最多经过n-1趟原创 2022-03-06 22:15:43 · 137 阅读 · 0 评论 -
模拟一个顺序栈
1、简介 栈作为一种常用的抽象数据类型,在平常的运用是十分常见的。它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。 这篇文章带领大家一起模拟一个顺序栈的实现。并且封装一些常用的栈操作。相信用过STL中stack容器的同学经常会调用一些stack容器中打包的函数(如s原创 2022-03-06 15:00:50 · 169 阅读 · 0 评论 -
基础算法——递归
算法思想 递归(recursion algorithm):在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。也可以说递归就是在函数定义中再调用自身的做法。好了,虽然其算法思维很简单,但是要使用起来却是很困难。有时候一个递归的算法光是理解起来就很难。(大师 L.Peter Deutsch 说过:To Iterate is Human, to Recurse, Divine.中文译为:人理解迭代,神理解递归。毋庸置疑地,递归确实是一个奇妙的思维方式。) 递归三要素 在这里本菜鸟只说一下对递原创 2022-03-05 21:36:40 · 863 阅读 · 0 评论