BD的笔记

昨日已成往事,当下才属未来

LeetCode111:Minimum Depth of Binary Tree

DFS系列思路: 1.边界条件:如果树为空,则返回 2.满足条件的解:当到达叶子节点时,即左右子树为空,则比较当前的深度与所记录的最小深度,若比最小深度小,则更新最小深度,否则不执行。 3.如果左子树不为空则进行搜索,如果右子树不为空则进行搜索。public class Solution {...

2016-12-09 16:29:51

阅读数 191

评论数 0

LeetCode 20:Valid Parentheses

符号匹配问题,使用栈解决即可。 当为’(‘,’[‘,’{‘时,入栈即可,当遇到’)’,’]’,’}’时,当栈不为空则进行出栈操作,判断是否匹配。例如遇到’)’时,栈不为空且出栈的字符为’(‘即表示匹配,否则返回false检查字符是用==,检查String是用.equals(),因为String是...

2016-12-08 21:28:51

阅读数 155

评论数 0

中缀表达式改后缀表达式

我们把平时所用的标准四则运算表达式,即“9+(3-1)*3+10/2”叫做中缀表达式。因为所有的运算符号都在两数字的中间,现在我们的问题就是中缀到后缀的转化。规则:从左到右遍历中缀表达式的每个数字和符号,若是数字就输出,即成为后缀表达式的一部分;若是符号,则判断其与栈顶符号的优先级,是右括号或优先...

2016-10-11 11:23:42

阅读数 268

评论数 0

LeetCode 144: Binary Tree Preorder Traversal

Q: Given a binary tree, return the preorder traversal of its nodes’ values.前序遍历: 根左右/** * Definition for a binary tree node. * public class TreeNo...

2016-10-03 10:58:13

阅读数 257

评论数 0

动态规划(Dynamic Programming)学习笔记记录

要了解DP,需要知道递归的知识和基本的暴力搜索。定义: 本质:递归 原问题(N)->子问题(N-1)->原问题(N) 最优子结构 子问题最优决策可导出原问题最优决策 无后效性 重叠子问题 去冗余 空间换时间(注意分析时空复杂度) 基本步骤: 四个步骤 设计暴力算法,找到冗余 ...

2016-09-14 19:23:13

阅读数 1023

评论数 0

Asymptotic Analysis——渐近分析

上图主要介绍的是渐进分析的动机是什么。 高级推理算法的“灵魂”(翻译水平有限,不知道合适不合适,若有好的翻译请告诉我,或者你直接看英文原版吧) 不关注架构/语言/编译器的相关细节(意为只关注算法本身) 对于不同算法的比较特别有用,尤其是在大型输入(例如排序或整数乘法) 不关注常数因子和低阶项,...

2016-09-06 15:10:54

阅读数 3208

评论数 0

汉诺塔(Hanoi)递归算法笔记记录

汉诺(Hanoi)塔问题:古代有一个梵塔,塔内有三个座A、B、C,A座上有64个盘子,盘子大小不等,大的在下,小的在上(如图找了张5个的,意思一样)。有一个和尚想把这64个盘子从A座移到B座,但每次只能允许移动一个盘子,并且在移动过程中,3个座上的盘子始终保持大盘在下,小盘在上。在移动过程中可以利...

2016-09-06 08:29:15

阅读数 1211

评论数 0

Java算法之链表笔记记录

本篇主要介绍一种新的数据存储结构——链表。链表可能是继数组之后第二种使用得最广泛的通用存储结构。 链表的机制灵活,用途广泛,适用于许多通用数据库。它也可以取代数组,作为其他存储结构的基础,例如栈,队列。除非需要频繁通过下标随机访问各个数据,否则在很多使用数组的地方都可以用链表代替。链结点在链表中...

2016-09-04 13:55:24

阅读数 2064

评论数 0

Java算法之简单排序算法笔记记录

本篇主要记录冒泡排序,选择排序,插入排序。冒泡排序算法思想: 如下图,先比较0与1位置上的运动员身高,若0位置身高大于1位置身高,则0与1位置上的运动员交换位置,然后从1位置开始,比较1与2位置上运动员的身高,以此类推,直至到位置9。此时,9已经是最高的了,属于有序状态,所以下次比较的时候,只需...

2016-08-08 11:13:25

阅读数 544

评论数 0

蜂巢晶格_Honeycomb Lattice Triangular Lattice初始化邻居信息

背景: 复杂网络上的博弈。使用的网络模型: 蜂巢晶格,也成Triangular lattice逻辑示意图: 每个点有3个邻居,示意图: 问题: 现有40000个节点,分布在蜂巢晶格中,每个点有3个邻居,需要将它们存储在一个二维数组中,蜂巢晶格中的点的id是如何确定?例如说: 按照从左到...

2016-08-04 16:51:15

阅读数 820

评论数 0

转载: 数据结构之图(存储结构、遍历)

一、图的存储结构 1.1 邻接矩阵     图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息。     设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为:          看一个实例,下图左...

2015-07-16 09:55:24

阅读数 477

评论数 0

提示
确定要删除当前文章?
取消 删除