摘要:
1 .三种非递归遍历(栈)所要遍历的树是:先序 + 中序思路:就拿先序遍历为例来说吧。 1.访问根节点,根节点入栈,进入左子树。 2.访问左子树的根节点,根节点入栈,进入下一层左子树。 3.重复直到当前节点为空。即到达了最**左下方**的节... 阅读全文
摘要:
一.基本知识1. 数学知识(1)在二叉树的第i层上最多有2^(i-1)个节点(2)深度为k的二叉树最多有2^(k)-1 个节点(3)对任意二叉树,若叶子节点数为n0,度(节点拥有子树的个数)为2的节点数为n2,则 n0==n2+1 (4)对于具有n个节点的完... 阅读全文
摘要:
1.容器容器用来存储数据的,数据可以是用户自定义类型(对象),也可以是预定义类型。一般用的就有(vector,list,deque)那么有什么好处呐?参考这篇博客:博客2.函数重载什么是函数重载?(what)在同一作用域内,函数名相同但参数不同的一组函数。这... 阅读全文
摘要:
问题索引:1.为什么要存在这种东西?2.它有什么样的作用?3.与define 有什么联系?4.C与C++中的const有什么区别?5. C++ 11 中又有了些什么新的东西?解:1.为什么要存在这种东西?就是为了避免程序员在编程时,手残修改关键部分的值(其实... 阅读全文
摘要:
问题描述:输入一个多项式的表达式,要求得到计算后的结果。比如:输入3+(4+5)*2-5,输出结果0 。(什么,你居然说我没算对,你怕是有毒~~)要求:1. 可以计算多位整数。比如2就是个位整数,234就是多位整数。2. 满足带括号的要求问题分析:给两个栈,... 阅读全文
摘要:
问题描述问题牵引:1.为什么用数组来作为栈的实现,而不是动态分配,指针加减?2.directionNext和count数组起了什么作用?是如何实现的?3.为什么需要while(1)?它是如何起作用的?为什么需要贪心?4.贪心的思想是如何实现的?5.核心代码过... 阅读全文
摘要:
问题描述:将马随机放在国际象棋的Board[0~7][0~7]的某个方格中,马按走棋规则进行移动。走遍棋盘上全部64个方格。编制程序,求出马的行走路线,并按求出的行走路线,将数字1,2,…,64依次填入一个8×8的方阵,输出之。实现思路:DFS 搜索(因为我... 阅读全文
摘要:
问题描述:给定一个迷宫,给定入口和出口,找到从入口到出口的一条路径(任何一条路径都可以),迷宫为0表示可走,为1表示墙。用1将迷宫围起来避免边界问题。实现思路:1.DFS搜索(递归)2.采用栈的数据结构下面分别用这两种方法来解决这个问题。DFS搜索(即递归+... 阅读全文
摘要:
栈的应用–括号匹配这里我以leetcode 上的一道题来进行问题的描述:由于只包含字符的字符串'(',')','{','}','['和']',确定输入字符串是有效的。括号必须关闭以正确的顺序,"()"并且"()[]{}"都是有效的,但"(]"并"([)]"没... 阅读全文
摘要:
问题描述:给一个整数,要求把它转换成相应的二进制。题目解读:整数:1.考虑正负.2.如果整数是0 具体思路:可能学过编程的娃都知道,十进制转二进制就是不断的给它取余,再取余,然后倒着写出来就行了。那么这个过程是不是正好满足栈先进后出的特点呐。嘿嘿~+~在这里... 阅读全文