这道题使用dfs会超时,看评论区也有人遇到同样的问题,比赛时调试了1个多小时尝试改进,没有意识到应该换用非递归的bfs可以解决,消耗了大量的时间。 超时的方案如下,使用python实现:(经过尝试,能通过的测试用例中,使用5个方向就可以了) 暂时先这样吧。 ...
分类:
其他好文 时间:
2019-06-16 13:21:14
阅读次数:
89
二叉树的基本操作包含: 判断是否为空,获取节点数,先跟遍历,中跟遍历,后根遍历,层级遍历,查找元素 二叉树结构 判断是否为空树: 获取节点数量: 获取高度: 先根遍历递归: 中跟递归: 中跟非递归: 后跟递归: 层次遍历: 递归查找元素: ...
分类:
其他好文 时间:
2019-06-16 09:20:55
阅读次数:
93
本文总结十大经典排序算法及变形,并提供Java实现。 参考文章: 十大经典排序算法总结(Java语言实现) 快速排序算法—左右指针法,挖坑法,前后指针法,递归和非递归 快速排序及优化(三路划分等) 一、排序算法概述 1、定义 将杂乱无章的数据元素,通过一定的方法按关键字顺序排列的过程叫做排序。 2、 ...
分类:
编程语言 时间:
2019-06-11 00:48:13
阅读次数:
188
一、二叉树的前序遍历,写出一种非递归算法 二叉链表的结点类型为: 前序遍历非递归算法: 二 、未完待续 ...
分类:
编程语言 时间:
2019-06-09 12:43:14
阅读次数:
361
首先是在实习僧上投的简历,第一周因为手机问题没有接到电话,第二周才打过去约到了第二天上午十点面试。 第一次去百度这样的大公司面试,讲真还是很紧张的,提前快一个小时就到地方了,然后因为那地儿实在太堵了,一面的面试官堵在路上了,所以等到十一点多才正式开始面试,结果一天就面了三面……确实有点累,面试完手机 ...
分类:
其他好文 时间:
2019-06-07 13:15:55
阅读次数:
96
1.自底向上的分析 最普通的自底向上算法称作LR(1)分析( LR(1)parsing) ( L表示由左向右处理输入,R表示生成了最右推导,而数字1则表示使用了先行的一个符号)。 1.1自底向上分析概览 自底向上的分析程序使用了显式栈来完成分析,这与非递归的自顶向下的分析程序相类似。分析栈包括记号和 ...
分类:
其他好文 时间:
2019-06-05 15:04:10
阅读次数:
105
最近研究汉诺塔非递归的时候,看到书上写了个MOD,久违啊,感觉好久没看到过了,都忘了怎么用了。 某人:我知道,这不就是取余嘛,直接%就行了。 嗯。。。。。。,如果是python语言,你说的很对,但是我要的是JS中的。搜了下,貌似JS中没有MOD方法。便于学习的使用,自己写了个。 废话不多说,直接上代 ...
分类:
Web程序 时间:
2019-05-30 17:29:01
阅读次数:
152
Python学习教程:人生苦短,我用Python?入门前你要知道这些 ...
分类:
编程语言 时间:
2019-05-24 12:57:30
阅读次数:
131
#include #include using namespace std; /* strlen 返回字符串不包含结束符\0的长度 */ int mystrlen(const char *str) {//非递归strlen assert(str);//必须不为空 int len = 0; while... ...
分类:
其他好文 时间:
2019-05-23 21:26:55
阅读次数:
135
#include #include #include using namespace std; /* 二叉树遍历算法递归+非递归: 前序遍历:根->左->右 中序遍历:左->根->右 后序遍历:左->右->根 层次遍历 */ struct TreeNode { int val; TreeNode *... ...
分类:
其他好文 时间:
2019-05-23 21:18:19
阅读次数:
129