二叉树遍历(非递归版)
基本概念 前序遍历:先访问根节点,再访问左子节点,最后访问右子节点 中序遍历:先访问左子节点,再访问跟节点,最后访问右子节点 后序遍历:先访问左子节点,再访问右子节点,最好访问根节点 前序遍历 要想用非递归的方式解决问题,几乎都是采用栈的方式解决。前序遍历是先访问根节点,再访问左子节点,最后访问右子节点,对应图中顺序1->2->4->5->3->6->7.所以我们可以采用以下方式来做: 假设cur=head,将cur入栈 不断从栈中弹出栈顶节点,然后把右子节点和左子节点放入栈中(因为先访问左子
POJ3208:Apocalypse Someday
题目描述 The number 666 is considered to be the occult “number of the beast” and is a well used number in all major apocalypse themed blockbuster movies. However the number 666 can’t always be used in the script so numbers such as 1666 are used instead.
(并查集 注意别再犯傻逼的错了) HDU 1213 How Many Tables
Problem Description Today is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. Ignatius wants to know how many tables he needs at least. You have to notice that not all the friends know each other, and all the friends do not wan
【洛谷5358】[SDOI2019] 快速查询(模拟)
点此看题面 大致题意: 有单点赋值、全局加法、全局乘法、全局赋值、单点求值、全局求和\(6\)种操作。现在给出操作序列,以及\(t\)对正整数\(a_i,b_i\)。让你处理\(t*q\)次操作,每次为操作序列中的第\(((a_i+jb_i)\%q+1)\)个操作。输出询问答案和。 模拟 这是一道很水的模拟题吧。 容易发现所有操作都可以\(O(1)\)搞,因此直接\(O(tq)\)暴力即可。 就是打标记比较烦。 还有\(n\)比较大可以把操作的位置离散化。 代码 #include<bits/s
open stack--neutron02
neutron— 网络实践 一、虚拟机获取 ip: 用 namspace 隔离 DHCP 服务 Neutron 通过 dnsmasq 提供 DHCP 服务,而 dnsmasq 通过 Linux Network Namespace 独立的为每个 network 服务隔离 在二层网络上,VLAN 可以将一个物理交换机分割成几个独立的虚拟交换机。类似地,在三层网络上,Linux network namespace 可以将一个物理三层网络分割成几个独立的虚拟三层网络。 每个 namespace 都有自
Git 的介绍使用以及简单操作流程
一、GitHub简介 GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。 GitHub于2008年4月10日正式上线,除了Git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。 2018年6月4日
c库函数 rewind fseek
rewind(3) 将文件内部的位置指针重新指向一个流(数据流/文件)的开头 不是文件指针而是文件内部的位置指针 rewind函数作用等同于 (void)fseek(stream, 0L, SEEK_SET);
RabbitMQ心跳检测与掉线重连
1、RabbitMQListener,自定义消息监听器 using RabbitMQ.Client;
using RabbitMQ.Client.Events;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
阿里云OSS图片文件回源数量限制解决方案
阿里云OSS图片文件回源数量限制解决方案 背景 小程序在展示外链的源过多,而且地址不一定是https的,而小程序强制要求是https的,考虑使用OSS的回源功能,但是阿里的oss只能设置5个源。于是在中间加了一层将阿里云OSS 指向一台 ECS 的 Nginx 上做反向代理,配置如下: server {
listen 80 default_server;
listen [::]:80 default_server;
ser
day005 流程控制 (if / for / while)
流程控制 语法 if判断其实就是模拟人在做判断,如果做一件事情,你使用这种方式做 或者使用另一种方式做。 if 条件:
代码块
...
# 代码块(同一缩进级别的代码,例如代码1、代码2和代码3是相同缩进的代码,这三个代码组合在一起就是一个代码块,相同缩进的代码会自上而下的运行) 举例如下: # if
cls = 'human'
gender = 'female'
age = 18
if cls == 'human' and gender == 'female' and ag
SOA架构设计的案例分析课后 学习
今天上课,老师讲了SOA架构设计,下面,结合网上的资料,自己整理了一下学习资料,加深对SOA的了解。 SOA,即Service Oriented Architecture的缩写,面向服务的架构,它提供了一种构建IT组织的标准和方法,并通过建立可组合、可重用的服务体系来减少IT业务冗余并加快项目开发的进程。SOA允许一个企业高效地平衡现有的资源和财产,这种体系能够使得IT部门效率更高、开发周期更短、项目分发更快,在帮助IT技术和业务整合方面有着深远的意义。它可以缩小业务和技术的鸿沟,促进软件资源
build.gradle 详解(一)
转:https://www.cnblogs.com/steffen/p/9212765.html 简述: 1) Java 开发中有两个大名鼎鼎的项目构建 ANT、Maven。 2) Google 推荐使用的 Android studio 是采用 Gradle 来构建项目。Gradle 是一个非常先进的项目构建工具。 Gradle 是用了一种基于 Groovy 的领域特定语言(DSL,Demain Specific Language)来声明项目设置,摒弃了 XML(如 ANT 和 M
open stack--nova
nova— 计算服务 一、nova介绍: Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源。OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nova 来实现的。 用途与功能 : 1) 实例生命周期管理 2) 管理计算资源 3) 网络和认证管理 4)REST 风格的 API 5) 异步的一致性通信 6)Hypervisor 透明:支持Xen,XenServer/XCP,KVM, UML, VMware vSphere and Hype
一天搞懂深度学习(李宏毅)-学习笔记
一周后要进行深度学习考试。十几周的课程下来,基础部分掌握不是很扎实,高阶应用部分更是N头雾水。 阅读了李宏毅老师的文章,可以提纲挈领地把握深度学习的主体框架,可以对“深度学习到底在做什么事”有比较清晰的认识。 我认为,不论是在科研圈还是工业界,人工智能一定是日后重要的技术工具。在未来二十年,人工智能技术工程师(所谓的“AI训练师”)将逐步起到越发重要的作用。 后面,结合课程讲义和教材,逐章复习掌握知识细节 ,希望可以通过周末的考试!
Dos命令与Java开发环境的配置 + HelloWorld
第一阶段 JAVA基础知识 第一章 开发环境的配置 知识铺垫:Dos 命令 在正式进入Java学习之前我们来了解一个看起来B格很高的东西——Dos命令 DOS命令,计算机术语,是指DOS操作系统的命令,是一种面向磁盘的操作命令,主要包括目录操作类命令、磁盘操作类命令、文件操作类命令和其它命令。 这是什么意思呢?我们先来看一看这究竟是什么东西呢 通过 快捷键Win + R可以调出 运行窗口 我们输入cmd 后回车即可调出命令提示符界面,是不是感觉B格马上就起来了。 简单的理解就是:在cmd中输入
今日推荐
周排行