一、Github地址:https://github.com/silakami/wc.exe 二、PSP表格 三、解题思路 1、分析题目,并进行需求分析:这个软件可以分成三个模块,第一个模块是各种非递归的功能,第二个模块是文件的通配符和递归查找,第三个模块是可视化界面,并且包含着各种功能,除此之外,这 ...
分类:
编程语言 时间:
2019-09-26 09:56:09
阅读次数:
77
# coding:utf-8#[17, 20, 26, 31, 44, 54, 55, 77, 93]#mid = n/2##[17, 20, 26, 31]#mid = n/2 def binary_search(alist, item): """二分查找,遞歸""" n = len(alist) ...
分类:
其他好文 时间:
2019-09-25 22:30:19
阅读次数:
88
二叉树的表示 在研究二叉树的遍历之前,我们需要先看看二叉树的表示方式。 一般来说,我们使用自定义的数据结构或是数组来表示二叉树。 二叉树的数据结构: 数组形式表现二叉树 当我们使用数组形式表现二叉树时,我们将数组第一个节点的索引置为「1」,也就是根节点,如果我们通用性的将其当为「x」,那么它的左孩子 ...
分类:
其他好文 时间:
2019-09-25 00:36:56
阅读次数:
79
二叉树的遍历,注意递归和非递归两种思路。 94. Binary Tree Inorder Traversal 二叉树中序遍历 https://leetcode.com/problems/binary-tree-inorder-traversal/ 题目:给定二叉树,返回节点值的中序遍历。 思路: 1 ...
分类:
其他好文 时间:
2019-09-24 10:25:12
阅读次数:
85
在图论中,获取两点之间所有的路径的问题大部分采用递归来实现。而在 JS 中用递归算法很容易会让调用栈溢出,本文提供一种利用双栈(stack)数据结构来非递归实现,以便于在生产环境使用。 ...
分类:
编程语言 时间:
2019-09-21 12:26:43
阅读次数:
100
前序非递归遍历(借用栈结构): ①将根节点入栈; ②判栈空,获取栈顶元素输出; ③判断右子树是否为空,再判断左子树是否为空,在回至②执行。 void PreOrder(BinTree bt) { stack<BinTree> astack; BinTreeNode * p; astack.push( ...
分类:
其他好文 时间:
2019-09-18 20:50:44
阅读次数:
127
(一)进程锁 抢票的例子: 结果: multipleprocessing.Lock 非递归的锁定对象,非常类似threading.Lock.一旦进程或线程获得了锁,后续尝试从任何进程或线程获取它,将被阻塞直到被释放; 任何进程或线程都可以释放它。 Lock支持上下文管理协议,可以在with中使用。 ...
分类:
编程语言 时间:
2019-09-16 10:20:03
阅读次数:
83
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解题思路 两种解法:递归和非递归 这个题目就是归并排序中的归并操作,将两个有序数组(链表)合并为一个有序的数组。 非递归: 第一个while循环,将 l1 和 l2 进行比较,谁小谁就合并到 li ...
分类:
其他好文 时间:
2019-09-15 09:16:04
阅读次数:
145
题目连接: https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-postorder-traversal/ 题目大意: 中文题目 AC代码: ...
分类:
其他好文 时间:
2019-09-13 17:33:56
阅读次数:
111
二叉树的遍历和线索二叉树 递归遍历 先序遍历 中序遍历 后序遍历 非递归遍历 先序遍历非递归算法 中序遍历非递归算法 后序遍历非递归算法 后序非递归遍历二叉树的顺序是先访问左子树,再访问右子树,最后访问根结点。 当用堆栈来存储结点时,必须分清楚返回根结点时是从左子树返回还是从右子树返回的。 所以,使 ...
分类:
其他好文 时间:
2019-09-12 00:02:17
阅读次数:
100