
算法学习
Taowiedong
这个作者很懒,什么都没留下…
展开
-
Java数据结构和算法-单调栈学习记录
单调栈单调栈本质上也是栈,栈(stack)是很经典的一种数据结构,具有先进先出的逻辑特点。单调栈是栈的一种应用,主要特点就是栈中存放的数据要么递增要么递减。主要分为单调递增栈和单调递减栈两种单调递增栈就是从栈底到栈顶是从大到小单调递减栈就是从栈底到栈顶是从小到大单调栈主要解决一种名为Next Greater Element的典型问题,在LeetCode中有一类题目就属于这种496. 下一个更大元素 I : 入门题目,单调栈的基础应用739. 每日温度 :经典入门503. 下一个更大元素原创 2020-08-09 23:58:13 · 357 阅读 · 0 评论 -
Java数据结构和算法-冒泡排序算法
算法思想冒泡排序属于一种典型的交换排序。交换排序顾名思义就是通过元素的两两比较,判断是否符合要求,如过不符合就交换位置来达到排序的目的。冒泡排序名字的由来就是因为在交换过程中,类似水冒泡,小(大)的元素经过不断的交换由水底慢慢的浮到水的顶端。冒泡排序的思想就是利用的比较交换,利用循环将第 i 小或者大的元素归位,归位操作利用的是对 n 个元素中相邻的两个进行比较,如果顺序正确就不交换,如果顺...原创 2020-03-21 09:49:49 · 285 阅读 · 0 评论 -
Java数据结构和算法-快速排序算法
算法思想代码归档地址:https://github.com/taoweidong/Java-Learning快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。思路分析:快速排序采用双向查找的策略,每一趟选择当前所有子序列中的一个关键字作为枢纽轴,将子序列中比枢纽轴小的前移,比枢...原创 2020-03-21 09:29:29 · 169 阅读 · 0 评论