个人博客
-
排序算法之快速排序
快速排序 快速排序,是对冒泡排序的一种改进,它的基本思想是:通过对一趟排序将要排序的数据分割成独立的两个部分,其中一部分的所有数据都比另外一部分的所有数据小,然后再按此方法对这两个部分的数据分布进行快... -
排序算法之希尔排序(缩小增量排序)
引入 设原始数组为 `[2,3,4,5,6,1]` 如果对这个数组进行[插入排序](https://www.zihanzy.com/articles/337)那么 2,3,4,5,6,6 2,3,4,5,5,6 2,3,4,4,5,6 2,3,3,4,5,6 2,2,3,4,5,6 1,2,3,4,5,6 可以看到当要插入的... -
排序算法之插入排序
基本思想 插入排序是对欲排序的元素以插入的方式搜寻该元素的适当位置,以达到排序的目的,它的基本思想是,把n个待排序的元素看成一个有序表和一个无序表, 开始时有序表中只包含一个元素,无序表中包含有n-1个... -
排序算法之选择排序
基本思想 从欲排序的数据中,按指定的规则选出某元素,再依规定交换位置后达到排序的目的 它的基本思想是: 第一次从`arr[0]---arr[n-1]`中选取最小值,与`arr[0]`交换。 第二次从`arr[1]---arr[n-1]`中选取最小... -
排序算法之冒泡排序
基本思想 冒泡排序的基本思想是,通过对,待排序序列从前向后,依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部 如下例 初始化两个栈;运算符栈s1和储存中间结果的栈s2 ; 2)从左至右扫描中缀表达式; 3)遇到数时,将其压s2; 4)遇到运算符时,比较其与s1栈顶运算符的优先级: 1.如果s1为空,或栈顶运算符为左括号“(”,则直接将... -
关于栈的三种表达式
前缀表达式(波兰表达式) 前缀表达式也称为波兰表达式,前缀表达式的运算符位于操作数之前 如 `( 3 + 4 ) 5 - 6 `对应的前缀表达式为 `- + 3 4 5 6 ` 前缀表达式的计算机求值 从右至左 扫描表达式,遇... -
逆波兰表达式计算
要求完成一个逆波兰计算器 1.输入一个逆波兰表达式(后缀表达式),使用栈计算其结果 2.支持小括号和多为数整数 思路分析 如 `(3+4) 5-6`的逆波兰表达式为`3 4 + 5 x 6 -` 1.将表达式 `3 4 + 5 x 6 -` 放到Arr... -
利用栈实现中缀表达式计算
如下图  根据用户输入的表达式,得出计算结果 思路分析 本题看似简单,实则不然,要实现这个功能我们... -
栈(stack)
先来看一个实际需求  根据用户输入的表达式,得出计算结果,这样一个程序怎么写? 对于计算机而言,用户...