dfc

数据结构与算法之美_23_二叉树基础(上):什么样的二叉树适合用数组来存储?

旧街凉风 提交于 2020-04-21 20:33:34
前面我们学习的都是线性表结构,栈、队列等等。今天来学习一种非线性表结构,树。 二叉树有几种存储方式?什么样的二叉树适合用数组来存储? 树(Tree) “树”这种数据结构很像我们生活中的“树”,这里面每个元素叫作“节点”;用来连接相邻节点之间的关系,叫作“父子关系”。 下面的图中,A 节点就是 B 节点的父节点,B 节点是 A 节点的子节点。B、C、D 这三个节点的父节点是同一个节点,所以它们之间互称为兄弟节点。我们把没有父节点的节点叫作根节点,也就是图中节点 E。把没有子节点的节点叫作叶子结点或者叶节点,比如图中的 G、H、I、J、K、L 都是叶子节点。 树还有三个比较相似的概念:高度、深度、层。 节点的高度:节点到叶子节点的最长路径(边数) 节点的深度:根节点到这个节点所经历的边的个数 节点的层数:节点的深度 + 1 树的高度:根节点的高度 小窍门: “高度”:这个概念就是从下往上度量,比如我们要度量第 10 层楼的高度,起点是地面。所以,树的这种结构的高度也是一样,从最底层开始计数,并且计数的起点是 0。 “深度”:这个概念在生活中是从上往下度量的,比如水中的鱼的深度,是从水平面开始度量的。所以,树这种数据结构的深度也是类似的,从根节点开始度量,并且计数起点也是 0。 “层”:与深度的计算类似,不过,计数的起点是 1,也就是说根节点位于第 1 层。 二叉树(Binary

Cascadea,为Safari应用程序扩展和本机macOS应用程序的自定义样式管理器

天涯浪子 提交于 2020-04-21 19:39:15
如何改变网站的外观和感受?Cascadea Mac版是Mac平台上的一款开发软件。 Cascadea mac破解版 可以轻松地安装自定义样式,从而改变您想要的任何网站的外观和感觉。 Cascadea for Mac官方介绍 介绍Cascadea,这是第一个设计为Safari应用程序扩展和本机macOS应用程序的自定义样式管理器。Cascadea使安装自定义样式变得容易,该样式可以更改您想要的任何网站的外观。无论您是想让社交媒体Feed充满色彩,还是希望您的眼睛以深色风格来休息,Cascadea都可以让您自由地用颜色绘制网络。 安装样式很容易-您可以轻松地从流行的自定义样式网站导入样式,或者从URL或本地文件导入任何CSS文件。安装后,Cascadea将具有干净,简单的用户界面,可快速切换或删除样式。由于Cascadea是用快速,流畅的本机UI构建的,因此可以很容易地批量切换或批量删除样式,将它们拖动以组织样式列表,或者导出和导入整个样式数据库。 无论您是编写自己的自定义样式还是将其用作Web开发工作流的一部分,Cascadea都是CSS开发人员的强大工具。Cascadea包括一个功能齐全的代码编辑器,用于编写自定义样式表,并支持自动完成,语法突出显示,自动缩进,代码折叠,美化,多光标支持等。在编辑器的多个颜色主题之间进行选择,在选项卡中打开多个样式

OSChina 周一乱弹 —— 今瓶没

允我心安 提交于 2020-04-20 05:34:50
Osc乱弹歌单(2020)请戳( 这里 ) 【今日歌曲】 @ Cobbage :分享韩红的单曲《往事随风 (Live)》: 《往事随风 (Live)》- 韩红 手机党少年们想听歌,请使劲儿戳( 这里 ) @ 睡过鹿晗的男人 :今天周某人出来了,你的电瓶车🔒了吗 偷电瓶, 总比偷车座子好吧。 @ Iridium :贫穷感,不知道诸位是否同感?IT行业在各行业里比起来,也算是工薪族的娇子了,任何城市,都是前10%的那一部分吧。但为什么还是感觉仅仅是勉强维生而已。是我的个人感觉吗?还是普遍体会?我觉得这部分人都过得这么狼狈,那绝大部分人并不会比这个更好啊。 当然有了, 生存危机感, 就和你没到年初会祈福新的一年风调雨顺,工作顺利,身体健康是一样的。 “根据喵星古老文献记载,住在母星上的猫咪先民们会在收获季节对着丰收的麦穗翩翩起舞,以此来纪念德墨喵尔丰收女神~直到今天蓝星人在掏出逗猫棒的那一刻,还是可以有幸目睹喵星人这种代代相传的特性” 有危机感就对了, 大人物也应该有危机感, 没准因为什么事就阴沟里翻船了。 @ 无码禅师 :继续吃瓜 当然要及时证明自己了, 不然等来就不是自查报告了, 还可能是罢免通知。 @ Tumblr :龙妈听了会沉默 这头衔确实比龙妈还长。 “我家旅馆招不下这么多人。” 这种大人就是小时候, 思想观念就没打好基础。 长大了这种隐患就显示出来了。 @ 拜二慕尼黑

Mysql高手系列

只谈情不闲聊 提交于 2020-04-18 07:38:04
Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 这是Mysql系列第21篇。 本文开始连续3篇详解mysql索引: 第1篇来说说什么是索引? 第2篇详解Mysql中索引的原理 第3篇结合索引详解关键字explain 本文为索引第一篇:我们来了解一下什么是索引? 路人在搞计算机之前,是负责小区建设规划的,上级领导安排路人负责一个万人小区建设规划,并提了一个要求:可以快速通过户主姓名找到户主的房子;让路人出个好的解决方案。 方案1 刚开始路人没什么经验,实在想不到什么好办法。 路人告诉领导:你可以去敲每户的门,然后开门之后再去询问房主姓名,是否和需要找的人姓名一致。 领导一听郁闷了:我敲你的头,1万户,我一个个找,找到什么时候了?你明天不用来上班了。 这里面涉及到的时间有:走到每户的门口耗时、敲门等待开门耗时、询问户主获取户主姓名耗时、将户主姓名和需要查找的姓名对比是否一致耗时。 加入要找的人刚好在最后一户,领导岂不是要疯掉了,需要重复1万次上面的操作。 上面是最原始,最耗时的做法,可能要找的人根本不在这个小区,白费力的找了1万次,岂不是要疯掉。 方案2 路人灵机一动,想到了一个方案: 给所有的户主制定一个编号,从1-10000,户主将户号贴在自家的门口 路人自己制作了一个户主和户号对应的表格,我们叫做: 户主目录表 ,共1万条记录,如下: 户主姓名

Mysql高手系列

邮差的信 提交于 2020-04-18 07:37:28
Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 这是Mysql系列第20篇。 环境:mysql5.7.25,cmd命令中进行演示。 代码中被[]包含的表示可选,|符号分开的表示可选其一。 需求背景 我们在写存储过程的时候,可能会出现下列一些情况: 插入的数据违反唯一约束,导致插入失败 插入或者更新数据超过字段最大长度,导致操作失败 update影响行数和期望结果不一致 遇到上面各种异常情况的时,可能需要我们能够捕获,然后可能需要回滚当前事务。 本文主要围绕异常处理这块做详细的介绍。 此时我们需要使用游标,通过游标的方式来遍历select查询的结果集,然后对每行数据进行处理。 本篇内容 异常分类详解 内部异常详解 外部异常详解 掌握乐观锁解决并发修改数据出错的问题 update影响行数和期望结果不一致时的处理 准备数据 创建库: javacode2018 创建表:test1,test1表中的a字段为主键。 /*建库javacode2018*/ drop database if exists javacode2018; create database javacode2018; /*切换到javacode2018库*/ use javacode2018; DROP TABLE IF EXISTS test1; CREATE TABLE test1(a

Mysql高手系列

蓝咒 提交于 2020-04-18 06:47:52
Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 这是Mysql系列第19篇。 环境:mysql5.7.25,cmd命令中进行演示。 代码中被[]包含的表示可选,|符号分开的表示可选其一。 需求背景 当我们需要对一个select的查询结果进行遍历处理的时候,如何实现呢? 此时我们需要使用游标,通过游标的方式来遍历select查询的结果集,然后对每行数据进行处理。 本篇内容 游标定义 游标作用 游标使用步骤 游标执行过程详解 单游标示例 嵌套游标示例 准备数据 创建库: javacode2018 创建表:test1、test2、test3 /*建库javacode2018*/ drop database if exists javacode2018; create database javacode2018; /*切换到javacode2018库*/ use javacode2018; DROP TABLE IF EXISTS test1; CREATE TABLE test1(a int,b int); INSERT INTO test1 VALUES (1,2),(3,4),(5,6); DROP TABLE IF EXISTS test2; CREATE TABLE test2(a int); INSERT INTO test2 VALUES

OSChina 周六乱弹 —— 想做舔狗的第15天

心已入冬 提交于 2020-04-18 02:15:05
Osc乱弹歌单(2020)请戳( 这里 ) 【今日歌曲】 @ 薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《違う自分になりたい》- 得田真裕 手机党少年们想听歌,请使劲儿戳( 这里 ) @ 划水专业户 :想做舔狗的第15天,深圳,晴。有点热啊,夏天应该来了。 要是能许愿不用干活, 住到一个依山傍水的庄园里多好, 现在天气就热起来了, 公司里都坐不住, @ xiaoshiyue :好热啊 你们那可以开空调了吗 想念冬天么? 泼水成冰的日子, 一去不返了。 这么热, 要是能去水疗一下是不是会轻松一些, @ Practices :水疗是啥,舒服吗 别看你现在想水疗, 等总让你在水里你也不高兴了。 所以还是不上班比较舒服, 在家什么姿势工作都可以, 就有想不开的, @ FalconChen :出门买早餐,看着路上擦肩而过的人群,我居然有点想去公司上班的冲动 。 想去上班之前, 你想想你排队等公交吧。 你在单位领导就不能让你闲着, @ 请叫我七点起床 :领导让我一个人搭一套微服务,实现简单版滴滴打车功能。我他妈要哭了 还滴滴打车呢! 我想滴滴打人! 我怎么反驳啊, 害怕被领导吐槽 老子不干了! 等着被辞退。 @ 无码禅师 :腾讯14年老员工被辞退,理由是不胜任工作:35+,就活该被淘汰吗 这操作也太迷了, @ qiaoaniu :小朋友,你是否有很多问号? @ 蓝门

讲鬼故事的人,是怎么错过时代的

僤鯓⒐⒋嵵緔 提交于 2020-04-14 09:51:32
【今日推荐】:为什么一到面试就懵逼!>>> 作者|毛丽娜 编辑|李春晖 盗墓界两大IP又在隔空battle。 潘粤明从民国卸岭魁首陈玉楼穿越成解放后摸金校尉胡八一,带着“李大嘴”姜超和“碎钻不值钱”张雨绮组成又一版鬼吹灯三人组。从《精绝古城》到《怒晴湘西》,再到《龙岭迷窟》,虽然盗墓的人次次变脸,但“鬼吹灯”IP也算长盛不衰。 那边厢,《盗墓笔记》改编虽屡遭吐槽也没闲着。《盗墓笔记·重启》自2018年杀青后就长期处于“即将播出”状态,最新消息是2020年暑假。嗯嗯,原来今年的“夏日限定”在这儿等着呢。 《鬼吹灯》与《盗墓笔记》堪称国内两大超级IP。甚至可以说,只有他俩是一个梯队,别的都是“其他IP”。 按理说,一个品类出了俩爆款,大家应该一拥而上,将其迅速复制、产生一大堆类型化作品。可事实上,包括盗墓题材在内的整个悬疑惊悚小说门类,数数说得上号、改编得有存在感的IP,似乎就这两根独苗。难道,这就是传说中的大树底下不长草? 比天下霸唱和南派三叔更早一辈,有讲鬼故事的张震,有周德东、蔡骏、那多等悬疑恐怖小说家。比这俩同期或更晚,当年的志怪、盗墓小说不在少数,不少也是火过的。 那些讲鬼故事的人,怎么就没能登上IP的航母? 吓得住读者,留不住观众? 以起点等网文平台崛起为分界点,我们可以将国产恐怖小说分为前后两个时代。在前·恐怖小说时代,诞生了张震这样以电台为载体的“鬼故事讲述者”

归一化激活层的进化:谷歌Quoc Le等人利用AutoML 技术发现新型ML模块

扶醉桌前 提交于 2020-04-10 15:17:14
最近,谷歌大脑团队和 DeepMind 合作发布了一篇论文,利用 AutoML 技术实现了归一化激活层的进化,找出了 BatchNorm-ReLU 的替代方案 EvoNorms,在 ImageNet 上获得 77.8% 的准确率,超越 BN-ReLU(76.1%)。 选自arXiv,作者:Hanxiao Liu,等机器之心编译,机器之心编辑部。 论文地址: https:// arxiv.org/abs/2004.0296 7 视频: https:// youtu.be/RFn5eH5ZCVo 批归一化和激活函数是深度神经网络的重要组成部分,二者的位置常常重合。以往的神经网络设计中通常对二者分别进行设计,而最近谷歌大脑和 DeepMind 研究人员合作提出了一种新方案: 将二者统一为一个计算图,从低级原语开始进行结构进化。研究者利用层搜索算法发现了一组全新的归一化-激活层 EvoNorms 。这些层中的一部分独立于批统计量(batch statistics)。 实验证明,EvoNorms 不仅在包括 ResNets、MobileNets 和 EfficientNets 在内的多个图像分类模型上效果显著,它还能很好地迁移到 Mask R-CNN 模型(进行实例分割)和 BigGAN(用于图像合成)。在多种情况下,EvoNorms 的性能显著优于基于 BatchNorm 和

Google 官方 Channel 盖戳:谷歌面试官眼中的优秀简历长什么样?

限于喜欢 提交于 2020-03-24 00:05:36
3 月,跳不动了?>>> Google的招聘官对想要申请Google岗位的同学提供了一些具体的提示和建议,帮助大家撰写和准备简历从人群中脱颖而出,其中包括业务,工程和技术职位的示例。主要从Resume Basics,Education,Experience,Optional section等几方面展开讲解,同时详细说明了如何用搞笑有说服力的方式来描述你曾经做过的Project。 Format • Use simple and consistent design, font, sizing and spacing • Use black or dark, readable ink • Format as PDF Content • Include your contact information and email at the top • Don’t have to include objective statements • Don’t need to include references Length • Keep to one page for business and internship roles, and no longer than two pages for engineering and technical roles • Include what’s