Java数据结构之常见基本算法分析
用最简单的思路理解复杂的问题,让读者跟着我一起化繁为简,透过题目看本质
Guijun626
皮
展开
-
LeetCode | Unique Binary Search Trees II
转载:https://blog.csdn.net/chilseasai/article/details/50083201 题目: Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. ...转载 2018-08-20 19:14:48 · 978 阅读 · 0 评论 -
Java-数据结构-之字形打印二叉树-牛客剑指offer/LetCode
牛客题目 题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 思路 根据题意,每行的节点的访问顺序是相反的,我们可以用两个栈来隔行存储,一个栈中根据“左结点->右结点”的顺序访问另一个栈的栈顶元素,而另一个栈根据“右子树->左子树”的顺序访问另一个栈的栈顶元素,直到两个栈都为...原创 2018-07-14 17:53:19 · 1031 阅读 · 0 评论 -
一看就懂的正则表达式匹配问题解法(牛客网/剑指offer正则表达式的匹配)
慢慢看完这篇,下次这题就不是问题!^_^ 题目描述 请实现一个函数用来匹配包括’.’和’‘的正则表达式。模式中的字符’.’表示任意一个字符,而’‘表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”ab*ac*a”匹配,但是与”aa.a”和”ab*a”均不匹配! 接下来请认真跟着我的思路走 分析 当模...原创 2018-07-28 18:58:50 · 1010 阅读 · 0 评论 -
Java实现双向链表的实现 简单的工厂代理模式
设计思想: package ListTest; //定义链表接口 定义链表行为的地方 interface Link { void add(Object obj); boolean remove(int index); boolean contains(Object obj); int indexOf(Object obj); boolean set(...原创 2018-04-16 10:38:02 · 896 阅读 · 0 评论 -
Java版各类常见的排序算法的实现及复杂度稳定性的分析---交换排序/选择排序/插入排序/归并排序/分布排序
交换排序 冒泡排序 这里和大家一起分享常见的几种排序算法 交换排序 所谓交换排序:就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置。 交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。 冒泡排序 冒泡排序思想:这里我们举例说升序,降序思想一样 每一趟比较两个相邻元素,如果前一个数比后一个数大,则我们进行交...原创 2018-07-19 20:08:57 · 712 阅读 · 0 评论