数据结构面试
文章平均质量分 63
以各大公司的真题为例,进行全面刨析
走上Java的不归之路
没有一个人天生就是天才,长久的坚持与努力才是王道!
展开
-
八皇后问题分析与实现~
一、基本介绍二、八皇后问题算法思路分析1)第一个皇后先放在第一行第一列2)第二个皇后放在第二行第一列,然后判断是否OK,如果不Ok,继续放在第二列,第三列,,,一次把所有列放完,找到一个合适3)继续第三个皇后,还是第一列,第二列,,,知道第八个皇后也能放在一个不冲突的位置,算是找到了一个正确解4)当得到一个正确解时,在栈回退到上一个栈时,就会开始回溯,即将第一个皇后放到第一列上的所有正确解都得到,5)然后回头继续第一个皇后放在第二列,后面继续循环执行1,2,3,4步骤说明:理原创 2022-04-06 19:45:19 · 135 阅读 · 0 评论 -
前缀,中缀,后缀(逆波兰表达式)~从分析到代码实现,一定要看到重点
前缀表达式:又称波兰表达式前缀表达式的运算符位于操作数之前例如:(3+5)* 6 - 2 的对应的前缀表达式是:- * + 3 5 6 2前缀表达式的计算机求值:从右至左扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(栈顶元素和次顶元素),并将结果入栈;重复上述过程直到表达式最左端,最后运算得出的值即为表达式的结果。1.从右至左扫描,将2,6,5,3压入堆栈2.遇到 +,弹出3,5,计算结果为8,将8压入堆栈, 2,...原创 2022-04-01 16:12:43 · 438 阅读 · 0 评论 -
栈实现综合计算器(中缀表达式)~从分析到代码实现
使用栈完成计算一个表达式的结果:思路:1.通过一个index值(索引),来遍历我们的表达式2.如果我们发现是一个数字,就直接入数栈3.如果是发现扫描到的是符号,就分下面情况: 3.1)如果发现当前的符号栈为空,就直接入符号栈3.2)如果当前的符号栈有操作符,就进行比较,如果当前的操作符优先级小于或等于栈中的操作符,就需要从数栈中pop出两个数,从符号栈中pop出一个符号,进行运算,将得到结果入数栈,然后将当前的操作符入符号栈,如果当前的操作符优先级大...原创 2022-04-01 14:26:49 · 229 阅读 · 0 评论 -
单向链表常见面试题~真题为例
求单链表中节点的个数 查找单链表中的倒数第k个节点(新浪面试) 单链表的反转(腾讯面试) 从尾到头打印单链表(百度 要求:反向遍历,Stack栈) 合并两个有序的单链表,合并之后的链表依然有序 ...原创 2022-03-27 20:52:12 · 1151 阅读 · 0 评论