![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
_changeme
这个人不懒,并且想留下点什么。
展开
-
在处理字符串时,charAt和toCharArray的选择。
没有通用的最佳性能方式。charAt进行边界检查(但是可以进行优化),而toCharArray则使用了临时空间。当VM无法消除边界时,使用toCharArray可能会更快。有关更多信息,请参见这里PPT 的74-78页。在上面的文档中给出了测试和解释。Q: Should I copy out the char[] array or not? 我是否应该复制char[]数组?A: If...原创 2020-03-13 17:00:55 · 489 阅读 · 0 评论 -
01背包问题解法及优化
01背包问题给定一个容量为C的背包,重量为weight,价值为value的石头,求背包能容纳的最大价值。例weight = [1, 2, 3]value = [6, 10 ,12]C = 5输出:22背包中放入一个重量为3的石头和一个重量为2的石头value = 10 + 12 = 22.递归 public int findRes(int[] weight, int[] v...原创 2020-03-09 21:42:20 · 787 阅读 · 0 评论 -
算法与数据结构-二分搜索树
前言大四重拾算法与数据结构,所有内容为自己的阶段小结所以并不是技术性文章,如有兴趣阅读,遇到问题不妨给我留个言,万分感谢!二分搜索树二分搜索树:一个结点的左孩子小于这个结点的右孩子(适用于这颗树的所有结点),在创建树的时候结点的值必须有可比性.如果遍历二分搜索树前序遍历:正常的树遍历 前序遍历是树的最常用遍历方式,并且在非递归遍历中最为简单(后面会提到)中序遍历:获得一个升序的遍历结...原创 2019-02-27 21:28:38 · 123 阅读 · 0 评论 -
算法与数据结构-堆
前言大四重拾算法与数据结构,所有内容为自己的阶段小结所以并不是技术性文章,如有兴趣阅读,遇到问题不妨给我留个言,万分感谢!堆堆是一颗完全二叉树最大堆:根结点的键值是所有堆结点键值中最大者,且每个结点的值都比其孩子的值大。最小堆:根结点的键值是所有堆结点键值中最小者,且每个结点的值都比其孩子的值小。构建堆用到自己写的动态链表Array(附在后面)package MaxHeap;pu...原创 2019-02-27 21:54:49 · 151 阅读 · 0 评论 -
算法与数据结构-线段树
前言大四重拾算法与数据结构,所有内容为自己的阶段小结所以并不是技术性文章,如有兴趣阅读,遇到问题不妨给我留个言,万分感谢!线段树线段树可以看做是一颗完全二叉树(为了方便查找左右结点)线段树是树中的一种特殊的数据结构,所有的数据结构写出来都是为了更快速的解决某些特殊的问题线段树的描述与解法在LeetCode的一个题目上描写的很具体,下面给出描述Segment tree is a ver...原创 2019-02-27 22:41:30 · 252 阅读 · 0 评论 -
算法与数据结构-字典树
前言大四重拾算法与数据结构,所有内容为自己的阶段小结所以并不是技术性文章,如有兴趣阅读,遇到问题不妨给我留个言,万分感谢!字典树复杂度为O(l) l为字符串的长度比较简单直接付码package Trie;import java.util.HashMap;public class Trie { private class Node { public boolean isWor...原创 2019-02-28 18:57:13 · 218 阅读 · 0 评论 -
算法与数据结构-AVL树-红黑树
前言大四重拾算法与数据结构,所有内容为自己的阶段小结所以并不是技术性文章,如有兴趣阅读,遇到问题不妨给我留个言,万分感谢!AVL树为了避免二分搜索树出现退化成链表的情况,我们在每次操作树的时候进行平衡维护。AVL树也叫平衡二叉树:所有结点的左子树与右子树的高度差不超过1,我们把这个概念转化成每个结点都有自己的平衡因子,我们通过维护每个树和他子树的平衡因子来实现AVL树。红黑树红黑树 与...原创 2019-02-28 19:17:34 · 154 阅读 · 0 评论