数据结构与算法的学习之路(1)
栈
中缀表达式,前缀表达式,后缀表达式,
(3 + 4) × 5 - 6 就是中缀表达式 - × + 3 4 5 6 前缀表达式 3 4 + 5 × 6 - 后缀表达式
我们平时中学习的都是中缀表达式,上述的值为
(3 + 4) × 5 - 6
7*5-635-629
而前缀表达式和后缀表达式一般有利于电脑的运算理解,前缀表达式是从右到左将数字入栈,遇到运算符时,弹出数字,运算后又入栈,后缀表达式是从左向右进行运算(三个式子的值是相同的)
在cmd命令中输入set/a+表达式可以算出一个运算式的值(只能进行加、减、乘、除、取余这几个操作)
二叉树的四种便利方法
前根序遍历:先遍历根结点,然后遍历左子树,最后遍历右子树。 2.中根序遍历:先遍历左子树,然后遍历根结点,最后遍历右子树。 3.后根序遍历:先遍历左子树,然后遍历右子树,最后遍历根节点。 4.根序遍历:先遍历最上层的所有节点,再逐层向下,最后便利左右子树。
栈混洗
应用:可用来处理列车调度等问题 描述:在一个队列中有n个对象,通过两个栈的入栈出栈,不可能有n!个排列方式。
图的深度优先搜索与广度优先搜索
广度优先搜索:将开始节点作为第一层,与其连接的节点作为第二层,逐层进行搜索 深度优先搜索:从开始节点开始,从一条路向下搜索,等这条路搜索完成后,返回上一个岔路,进行搜索