二叉树相关算法与概念总结(基本完善)...
二叉树的相关概念
叶子节点:把没有子节点的节点叫做叶子节点或者叶节点。
例如上图中的G、H、I、J、K、L都是叶子节点
根节点:相对的,没有父节点的节点叫做根节点
例如上图中的E
平衡二叉树 : 二叉树中任意一个节点的左右子树的高度相差不能大于1。
完全二叉树: 叶子节点都在最底下两层,最后一层的叶子节点都靠左排列,并且除了最后一层,其他层的节点个数都要达到最大,这种二叉树叫做完全二叉树。
完全二叉树可以存储在数组中,不至于浪费空间。
二叉树算法与题目
二叉树的深度复制
123456789101112131415161718192021class TreeNode { int value; TreeNode left; TreeNode right; public TreeNode(int x) { value = x; } } //TreeNode newRoot; public TreeNode copyTr ...
《算法》(Algorithms Fourth Edition) 书上的归并和快排代码
最近买了本算法书看,发现算法书上写的Java代码简洁又容易理解,属于比较好的那种,对于有些自己写不好的排序,可以拿出来背背。
归并排序归并排序基于归并这个简单的操作,即将两个有序的数组归并成一个更大的有序数组。
12345678910111213141516171819202122232425262728293031323334353637public class mergeSortAlgorithms { private int[] copy; public void mergeSort(int[] nums, int lo, int hi) { if (lo >= hi) return; int mid = lo + ((hi - lo) >> 1); mergeSort(nums, lo, mid); mergeSort(nums, mid + 1, hi); merge(nums, lo, mid, hi); } //原地归并的抽象方法 ...
nginx服务器配置多域名应用的一次小记
序章由于本人金钱有限,只能购买的起一台VPS,在已经部署了hexo 博客后,想要使用这台再配置下自己做的项目,通过搜索,发现貌似有两种方法。
同一个server{} 下配置多个location / {} ,类似于以下这种:
123456789101112131415161718server{ listen 80; server_name www.example.com; location / { alias /root/www; index index.html; } location /demo1{ alias /root/demo1; index index.html; } location /demo2{ alias /root/demo2; index index.html; }}
这样的话,不同的项目就会在www.example.com/demo1 www.example.com/demo2 下面了,可以通过这样的形式访问。
通过 ...
「剑指 Offer 46. 把数字翻译成字符串」笔记
最近面试了国内互联网小厂的日常实习,他们出了一道这样的题目:
1234567891011121314151617把数字翻译成字符串有一种将字母编码成数字的方式:'a'->1, 'b->2', ... , 'z->26'。现在给一串数字,返回有多少种可能的译码结果示例1输入"12"输出2说明2种可能的译码结果(”ab” 或”l”)示例2输入"31717126241541717"输出192说明192种可能的译码结果
其实和力扣剑指 Offer 46. 把数字翻译成字符串差不多,只是把范围改成[0,25]了,这道题有点像剑指 Offer 10- II. 青蛙跳台阶问题,只是前提需在两个位置时判断这个数是否符合[0,25],然后在做取舍。
方法一
使用递归暴力方法做。
如果所示,
对于“2163”,从左边开始遍历,有“2”和“163”这一支,还有”21”和“63”这只分支。
然后指针到左子树则有”1”和“63”这一支,还有”16”和“3”这一支
依次递归
不难看出 ...
神之途径与五等工程师
最近在看《诡秘之主》,克苏鲁式的小说,里面有很多设定,其中“非凡特性不灭定律”——非凡特性不会毁灭,不会减少,只是从一个承载物到另一个承载物,这个看起来就是「能量守恒定律」的克苏鲁适用版。
目前我才看到第三部,印象最深刻的是「非凡途径」,每条途径有10个序列,从9到0,每一条途径都有一个主题,会给予非凡者多种非凡能力,与普通人所区分。乌贼娘的这部小说逻辑清晰,丝丝入扣,伴随疯狂和混乱,在离奇和合理之间掌握了平衡,引人入胜。
9-0 的途径,像是主角克莱恩的“占卜家”途径:序列9 - 占卜家,序列8 - 小丑,序列7 - 魔术师,序列6 - 无面人,序列5 - 秘偶大师,序列4 - 诡法师,序列3 - 古代学者,序列2 - 奇迹师,序列1 - 诡秘侍者,序列0 - 愚者。
现在我看到了克莱恩晋升的序列6 - 无面人,每到一个更高的序列不仅会加强低序列的能力,还会获得一些新的能力。
序列9 - 占卜家掌握占星术、卡牌占卜、灵摆、灵视以及类似的占卜能力。严重的缺乏直接的对敌手段,但是在神秘知识上比窥秘人更专业。
序列8 - 小丑
技巧型格斗大师:极大的提高身体协调性, 除非极端情况否则几 ...
人生到处知何似
恨是比爱强大得多的力量,人类历史上各种各样的牢固同盟,都是被恨—而不是爱—凝聚起来的。历史上的很多高明领袖,都很懂得制造并且操纵恨意。——熊逸
Heart is what separates the good from the great - Michael Jordan
心灵是区分优秀和伟大的因素。
正文
人生到处知何似,应似飞鸿踏雪泥。
在我读到的传统中国人中,有两个神一般的男人,鲁迅和苏轼。小时候看到一个破旧的笔记本上用钢笔写成的《定风波》,“竹杖芒鞋轻胜马,谁怕,一蓑烟雨任平生”、“归去,也无风雨也无晴”。
苏轼被称为一个完美中国人的典范,他人生经过大起大落,但是了解他的人都知道,无论情况多么糟糕,他总可以从容不迫、泰然自若。
这样的心理素质到底是怎样炼成的,我们能不能学得到?
熊逸说:我们大部分没法学。他说苏轼性格上,开朗,社交欲望和社交能力都强的令人惊异;环境,宋代估计也是中国历史上最好的朝代,全部时代里对知识分子最优待的,搁到明清,人估计早被整没了;才学、名望和地位。
同样的事情放到普通人身上,大概是承受不住的。但是,我们仍然能够学习到一件事:经过理性反思得来的 ...
分享我最喜欢的英文诗
分享我最喜欢的英文诗。
MutabilityI
The flower that smiles to-day
To-morrow dies;
All that we wish to stay
Tempts and then flies.
What is this world’s delight?
Lightning that mocks the night,
Brief even as bright.
Ⅱ
Virtue,how frail it is!
Friendship how are!
Love,how it sells poor bliss
For proud despair!
But we,though soon they fall,
Survive their joy,and all
Which ours we call.
Ⅲ
Whilst skies are blue and bright,
Whilst flowers are gay,
Whilst eyes that change ere night
Make glad the day;
Whilst yet the ...