问题 用层序遍历的方式来遍历二叉树。 解法 从二叉树根节点 root 开始,递归的对二叉树上的每个节点 i ,总是优先访问节点 i 以及与 i 处于同一高度的节点,然后再访问 i 以及与 i 处于同一高度的节点的孩子节点们。如图: 先序遍历、中序遍历和后序遍历都可以比较容易的用递归来实现,而层序遍历是无法用递归函数来实现的。我们可以借助队列来实现层序遍历。初始时将二叉树的根节点 root 放入队列
问题 用后序遍历的方式来遍历二叉树。 解法 从二叉树根节点 root 开始,递归的对二叉树上的每个节点 i ,总是优先访问节点 i 的左孩子节点,然后访问 i 的右孩子节点,最后访问 i 节点本身。如图: 后序遍历的时间复杂度是 O(n) 。
问题 用中序遍历的方式来遍历二叉树。 解法 从二叉树根节点 root 开始,递归的对二叉树上的每个节点 i ,总是优先访问节点 i 的左孩子节点,然后访问 i 节点本身,最后访问 i 的右孩子节点。如图: 中序遍历的时间复杂度是 O(n) 。
问题 用先序遍历的方式来遍历二叉树。 解法 从二叉树根节点 root 开始,递归的对二叉树上的每个节点 i ,总是优先访问节点 i 本身,然后访问 i 的左孩子节点,最后访问 i 的右孩子节点。如图: 先序遍历的时间复杂度是 O(n) 。
译序 不懂数据库的全栈工程师不是好架构师 —— Vonng 现今,尤其是在互联网领域,大多数应用都属于数据密集型应用。本书从底层数据结构到顶层架构设计,将数据系统设计中的精髓娓娓道来。其中的宝贵经验无论是对架构师,DBA、还是后端工程师、甚至产品经理都会有帮助。 这是一本理论结合实践的书,书中很多问题,译者在实际场景中都曾遇到过,读来让人击节扼腕。如果能早点读到这本书,该少走多少弯路啊!
模块(也被称为 “task plugins” 或 “library plugins”)是在 Ansible 中实际在执行的.它们就 是在每个 playbook 任务中被执行的.你也可以仅仅通过 ‘ansible’ 命令来运行它们. 让我们回顾一下我们是如何通过命令行来执行三个不同的模块: ansible webservers -m service -a "name=httpd state=star
译者的话 这是一本很经典的Python入门教材,也是一本很适合初学者的编程入门书籍。网上有过一些翻译,不过我觉得都还是自己动手来尝试一下,这样更有利于深入了解和体验,所以就再造轮子了。 作者的话 这是Think Python这本书的第二版,本次使用的是Python3,与Python2有很多不同,这些不同之处会有标注。如果你用Python2的话,还是建议你去阅读上一个版本。 读者可以到亚马逊购买本书
不同于传统 Shell 书籍,本书并未花大篇幅去介绍 Shell 语法,而是以面向“对象” 的方式引入大量的实例介绍 Shell 日常操作,“对象” 涵盖数值、逻辑值、字符串、文件、进程、文件系统等。这样有助于学以致用,并在用的过程中提高兴趣。也可以作为 Shell 编程索引,在需要的时候随时检索。 介绍 项目首页:http://www.tinylab.org/open-shell-book 代码
MongoDB 是一个开源的文档类型数据库,它具有高性能,高可用,可自动收缩的特性。MongoDB能够避免传统的ORM映射从而有助于开发。 文档 在MongoDB中,一行纪录就是一个文档,它是一个由键值对构成的数据结构,MongoDB文档与JSON对象类似。键的值可以包含其他的文档,数组,文档数组。 { "_id" : ObjectId("54c955492b7c8eb21818bd09")
为什幺写这个框架? 利用协程特性以同步方式来编写异步代码,增强可读性。 将swoole的异步特性与传统框架的MVC相结合。 可以用作api也可以用作http server,rpc server. 目前实现了以Zookeeper、Redis、Mysql为注册中心的服务化治理. 如何使用,与传统框架的区别? 框架基本使用与传统框架基本一致,路由,控制器,服务层,数据层。 在异步调用的地方需要以yiel
在过去三年半的时间里,AngularJS已经成为世界上数十万程序员的领先开源JavaScript应用程序框架。 AngularJS的“1.x”版本已被广泛使用,并且变得非常受欢迎的复杂应用程序。 新的“Angular 2”也宣布了其最终版本。 如果您认为这种材料有用,您还应该考虑注册一个Rangle的培训课程,这有助于实践学习,非常适合需要将他们的技术转换到Angular 2的公司,或者想要提高技
Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarray ,它拥有一些额外的功能。 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包。 这个开源项目有很多贡献者。 数组的算数和逻辑运算。 与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数。 N
《通过例子学 Rust》(Rust by Example 中文版)翻译自 Rust by Example,内容已全部翻译完成,中文版最后更新时间:2017-10-03。查看此书的 Github 翻译项目。(Chinese translation of the Rust by Example.) Rust 是一门注重安全(safety)、速度(speed)和并发(concurrency)的现代系统编
简介 区块链的平台性能跟很多因素都有关系,特别在实际应用中,根据应用场景的不同和系统设计和使用的不同,可能同一套平台最终在业务体现上会有较大差异。 在这里,仅侧重评测一般意义上的平台性能。 所有给出指标和结果仅供参考,由于评测环境和方案不同,不保证结果的一致性。 生产环境中应用区块链技术请务必进行充分验证评测。
简介