摘要: 1. 什么是LinkedList LinkedList 是由ListNode 组成的逻辑上连续 物理地址不连续的数据结构 ListNode数据结构 每个节点包含两个部分,一个保存数据,另外一个指向下一个节点; 本篇文章讨论的均是单项链表(Singly LinkedList) 时间复杂度分析: 1. 阅读全文
posted @ 2019-05-14 02:28 brooksLI 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 仍然是二分法专栏系列 现在的问题是在不知道sorted array大小的情况下得知是否含有target元素 接口是 ArrayReader: reader.get(index) 如果超出界限 则返回 Integer.MAX_VALUE; 思路:1.首先找到比target大的右边界限 或者是已经越界的 阅读全文
posted @ 2019-05-13 03:44 brooksLI 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 利用二分法进行求根,只保留整数向下取整 Exp:sqrt(16)=4, sqrt(18)=4; 思路: 利用二分法,从1~x 中找出 x 的平方根 基本的思路是每次找到mid,然后判断真实的根在mid左边还是右边,舍去一另外的一半 但是这样的写法有可能会产生OverFlow的问题 改进后的写法 阅读全文
posted @ 2019-05-13 00:32 brooksLI 阅读(110) 评论(0) 推荐(0) 编辑
摘要: Binary Search 时间复杂度 O(logN ), 因为每次减少一半 相当于取log Q: 什么时候可以用Binary Seach? A: 当数据是Sorted 并且支持Random Access的时候 Binary Search 的基本规则 1. 搜索空间在循环中不断减小 The Sear 阅读全文
posted @ 2019-05-12 00:20 brooksLI 阅读(149) 评论(0) 推荐(0) 编辑