Java数据结构和算法(八)——递归 目录 1、递归的定义 2、求一个数的阶乘:n! 3、递归的二分查找 4、分治算法 5、汉诺塔问题 5、归并排序 6、消除递归 递归和栈 7、递归的有趣应用 ①、求一个数的乘方 ②、背包问题 ③、组合:选择一支队伍 8、总结 记得小时候经常讲的一个故事:从前有座山 ...
分类:
编程语言 时间:
2019-11-17 10:22:54
阅读次数:
125
mplement an iterator over a binary search tree (BST). Your iterator will be initialized with the root node of a BST. Calling next() will return the ne ...
分类:
其他好文 时间:
2019-11-17 01:45:19
阅读次数:
59
Given an array where elements are sorted in ascending order, convert it to a height balanced BST. For this problem, a height-balanced binary tree is d ...
分类:
其他好文 时间:
2019-11-16 21:49:38
阅读次数:
70
最近忙里偷闲,每天刷一道 LeetCode 的简单题保持手感,发现简单题虽然很容易 AC,但若去了解其所有的解法,也可学习到不少新的知识点,扩展知识的广度。 创作本文的思路来源于: "LeetCode Problem 69. x 的平方根" 简述题目大意(不想跳转链接,可以看这里):给定一个非负整数 ...
分类:
其他好文 时间:
2019-11-15 18:24:35
阅读次数:
89
描述 请编写一个递归的折半查找算法,查找给定有序数组中的某一元素。 输入 多组数据,每组数据有三行。第一行为数组长度n,第二行为n个递增排列的数字,第三行为需要查找的数字k。当n=0时输入结束。 输出 每组数据输出一行,如果可以找到数字,则输出“YES”,否则输出“NO”。 样例输入1 5 1 4 ...
分类:
其他好文 时间:
2019-11-11 21:19:19
阅读次数:
112
概念介绍 有同学想了解插值查找,今天它来了!想了解插值查找,就得先了解二分查找的原理,对于不知道二分查找的小伙伴,可以去简单学习一下,送上超链接https://www.cnblogs.com/maguanyue/p/11675567.html。插值查找和二分查找十分的相似,它们唯一的区别就是:二分查 ...
分类:
其他好文 时间:
2019-11-10 11:50:51
阅读次数:
73
//折半查找(二分法)public void arrayHalfQuery() { //定义一个数组,类型为int整型数据类型 int[] num = {1,3,4,7,9,10,12,15,17,19,21,22,25,26,28,29,30}; //定义一个要查找的key值 int key = ...
分类:
编程语言 时间:
2019-11-09 17:20:50
阅读次数:
81
一、简介 在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 一棵深度为k,且有2^k-1个结点的二叉树,称为满二叉树。这种树的特点是每一层上的结点数都是最大结 ...
分类:
其他好文 时间:
2019-11-07 20:51:38
阅读次数:
131
【一】、什么是数据结构 前言 其实说实话,大一刚来的时候就学了数据结构,当时学的数据结构是下面图片中的这一本,不过说来惭愧,当时由于入门时C语言学的太菜,以至于开这门课的时候思维跟不上就抵触,不用解释,就是给自己找借口,坦白说吧,就是没好好学,不过人非圣贤,孰能无过,人生难免会犯点错,及时改正还是个 ...
分类:
其他好文 时间:
2019-11-07 10:10:19
阅读次数:
137
题目 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。 例如: 输入: 二叉搜索树: 输出: 转换为累加树: 来源:力扣(LeetCode) 链接:https://leetcode ...
分类:
其他好文 时间:
2019-11-07 00:25:48
阅读次数:
129