随笔分类 -  算法、数据结构

摘要:快速排序: 优点:快速(NlogN),只需下标标记额外空间。 详细步骤: 排序对象顺序随机打乱后。 先取首元素作为参照,后续元素头尾比较, 如果头元素小于参照,下标自加一; 如果尾元素大于于参照,下标自减一; 否则,头尾交换。 知道头下标大于尾下标,则返回当前尾下标。 然后以返回下标为分割点,前后再 阅读全文
posted @ 2018-05-19 14:21 川雨淅 阅读(128) 评论(0) 推荐(0)
摘要:红黑树: 适用于插入、删除、搜索操作。 源自2-3树,属于平衡二叉树,插入、删除后最多经过三次旋转、颜色转换达到平衡。 减少搜索层级。兼具AVL树平衡优点,保持花费太多代价更小。 基本结构: TreeNode<K,V> parent; // red-black tree links TreeNode 阅读全文
posted @ 2018-05-19 14:08 川雨淅 阅读(123) 评论(0) 推荐(0)
摘要:习题类型及解决所用数据结构及算法 1、字符串查找 Trie、HashMap 2、频率、统计、频率统计结果 HashSet、HashMap getOrDefault(key, 0)+1计数、bucket排序 3、字符串替换、组合 HashMap查重,自定义Trie(单词树),单词数组比较char 4、 阅读全文
posted @ 2018-05-05 10:03 川雨淅 阅读(101) 评论(0) 推荐(0)
摘要:一星期把 https://leetcode.com/problemset/algorithms/?topicSlugs=array&difficulty=Easy 整完。 总结如下: 所谓算法,使用通用的逻辑解决特定情况下变化性问题。 需求的结果具有一定预见性,规律;或者结果通过另加标识处理当前问题 阅读全文
posted @ 2018-01-02 09:56 川雨淅 阅读(116) 评论(0) 推荐(0)