![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
tangn2019
这个作者很懒,什么都没留下…
展开
-
二叉树遍历,递归以及迭代算法
二叉树的遍历方法(递归,迭代)二叉树的遍历先序遍历遍历顺序:根节点 ->左子树 -> 右子树先序遍历的结果:124536中序遍历遍历顺序:左子树 -> 根节点 -> 右子树中序遍历结果:425163后序遍历遍历顺序:左子树 -> 右子树 -> 根节点后序遍历结果:452631层序遍历遍历顺序:从上至下,从左至右层序遍历...原创 2020-04-10 13:33:04 · 166 阅读 · 0 评论 -
美团笔试2020.4.02第三题小仓的射击练习4
3.小仓的射击练习4题目描述:小仓酷爱射击运动。今天的小仓想挑战自我。小仓有N颗子弹,接下来小仓每次会自由选择K颗子弹进行连续射击,全中靶心的概率为p[k]。如果成功小仓将获得a[k]的得分,并且可以使用余下子弹继续射击,否则今天的挑战结束。小仓想知道在最佳策略下,自己能得到的最高期望分数是多少。输入要求:第一行一个数N,代表子弹数量。第二行N个数p[],第 i 个数代表p[i]。...原创 2020-04-05 00:15:30 · 715 阅读 · 0 评论 -
美团笔试2020.4.02第五题max xor min
美团2020.4.02笔试题 5: max xor min题目描述给你一个长度为n的序列a,请你求出对每一个1<=l<r<=n的区间中最大值和最小值的异或和的异或和。例如序列为{1,3,5},不同的a(1,2)=1^3 ,a(1,3)=1^5 ,a(2,3)=(3^5), a(1,2) ^a(1,3) ^a(2,3)=0,所以最后的答案是0。输入要求:输入第一行仅包含一...原创 2020-04-05 00:12:07 · 421 阅读 · 0 评论 -
为什么快速排序,要让右指针先运动?
最近又看到了快速排序的题目,在写代码的时候,又想起了这个知识点之前不太清楚,查了查资料搞清楚了快速排序我们每次递归要达成的效果是在基准数左侧的数都比基准数小,在基准数右侧的数都比基准数大那我们再来看,左右指针是如何运动的:左指针向右运动,直到碰见比基准数大的数停下,右指针向左运动,直到碰见比基准数小的数停下问题就出现在这里,我们最后是要把相遇位置处的数和基准位置处的数字相交换,而我们一直都...原创 2020-03-31 01:00:31 · 1316 阅读 · 0 评论 -
动态规划之背包问题
动态规划之背包问题前言自己在做背包问题的时候总是找不到一些规律,看了github上CyC2018总结的,还有一些博客上观念与背包问题的总结,写一点自认为是规律性的东西什么是背包问题一个容量为N的背包,用这个背包装下价值最多的物品,这些物品的属性包括体积和价值如果我们定义一个二维数组dp,dp[i][j]存放我放置的前i件物品,占用空间不超过j时的最大价值,这样,如果有n件物品,容量为v...原创 2020-03-27 12:12:22 · 185 阅读 · 0 评论 -
对于HashMap的认识
HashMap的认识前言HashMap作为Java集合中一个老生常谈的内容,有着重要的地位。我们从源码入手,来剖析一下HashMap的结构和原理HashMap的数据结构简单来讲,HashMap是数组+链表的组合,再JDK1.8后,成为了数组+链表红黑树的组合HashMap的构造方法无参数的HashMap构造方法会默认构造一个初始容量为16,负载因子为0.75的HashMap有...原创 2020-03-23 16:42:14 · 91 阅读 · 0 评论 -
排序算法实现
常见排序算法Java实现前言参考 github 上 CyC2018 大佬,写下一点自己对于排序算法的认识约定我们为了之后排序代码更加清晰,约定两个方法swap(),less(),前者用于交换元素,后者用于判断元素大小,需要实现Comparable接口public abstract class Sort<T extends Comparable<T>> {...原创 2020-03-22 10:33:41 · 161 阅读 · 0 评论