算法的空间复杂度通过计算算法所需的存储空间实现, 算法的空间复杂度的计算公式记作:S(n) = O(f(n)), 其中,n 为问题的规模,f(n) 为语句关于 n 所占存储空间的函数。 通常,我们都是用 “时间复杂度” 来指运行时间的需求,是用 “空间复杂度” 指空间需求。 当不用限定词地使用 “复 ...
分类:
编程语言 时间:
2021-01-06 12:14:18
阅读次数:
0
介绍 Trie树(又名字典树,前缀树)是一种多叉树,是一种专门处理字符串的数据结构,Trie树 示例图如下 保存的数据为单词列表[goods,good,gmail,grade,dog,cap,cook,map],应用场景有搜索提示 代码实现 import java.util.ArrayList; i ...
分类:
编程语言 时间:
2021-01-06 12:00:21
阅读次数:
0
剑指 Offer 32 - I. 从上到下打印二叉树 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu ...
分类:
其他好文 时间:
2021-01-06 11:58:50
阅读次数:
0
本文的内容是如何通过二叉树实现一个最大堆, 实现原理方面参考了这篇文章. 一. 堆的数据结构 1. 数据结构分析 堆的本质就是一颗二叉树, 这颗二叉树必须具备以下两个性质: 1). 对于最大堆来说, 二叉树根节点的值不小于任何子节点, 其所有子树也符合这一特征, 最小堆则相反; 2). 堆是一颗完全 ...
分类:
编程语言 时间:
2021-01-06 11:45:46
阅读次数:
0
数据结构 weixin_30768661 2017-09-07 22:51:00 1553 收藏 16 文章标签: java 面试 数据结构与算法 版权 熟记数据结构基础知识: http://www.jianshu.com/nb/6355905 http://www.jianshu.com/p/23 ...
分类:
其他好文 时间:
2021-01-06 11:44:23
阅读次数:
0
题目摘要 城市旅游购物交通咨询模拟 【问题描述】 沈阳城内有若干旅游观光景点和商业区。游客主要以公交车为交通工具出游。假设往返于每个景点和商业区的公交线路不少于6路。旅客希望中转次数最少、时间最短、费用最省。 【设计要求】 设计城市交通咨询模拟程序。 (1)采用图结构、集合等数据结构。 (2)可以随 ...
分类:
其他好文 时间:
2021-01-05 11:38:07
阅读次数:
0
题目 1 class Solution { 2 public: 3 4 bool isSymmetric(TreeNode* root) { 5 return check(root,root); 6 } 7 bool check(TreeNode* p,TreeNode* q) { 8 if(!p ...
分类:
其他好文 时间:
2021-01-05 11:37:37
阅读次数:
0
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal 根据一棵树的中序遍历与后序遍历构造二叉树。 注意:你可以假设树中没有重复的元素。 ...
分类:
其他好文 时间:
2021-01-05 11:32:09
阅读次数:
0
144. 二叉树的前序遍历 地址:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/ //给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 // // // // 示例 1: // // //输入:root = ...
分类:
其他好文 时间:
2021-01-05 11:30:49
阅读次数:
0
前面我们讲了一下冒泡排序,原理比较简单,但是我们发现他的排序比较慢,需要不断的进行数据的交换。然后我们来讲一讲选择排序,他不用一直进行数据的交换,他会找到最小的那个数,放在最左边,跟冒泡排序的不同之处,冒泡是两个数之间的比较,大的那个数放到右边。 选择排序 选择排序的原理也比较好理解,比如我们有n个 ...
分类:
编程语言 时间:
2021-01-05 11:29:13
阅读次数:
0