摘要:
代码实现 // 思路 // 递归--代码逻辑更加清晰 // 非递归 性能更好(相对来说) // 时间复杂度o(log(n)) 很快// 凡有序,必二分// 凡二分,时间复杂度必包含O(logn) /** * 二分查找(循环) * @param arr arr * @param target targ 阅读全文
摘要:
// queue-with-list // 数组是连续存储:push很快,shift很慢 // 链表是非连续存储,add和delete都很快,但是查找慢 // 结论: 链表实现队列更快 // 数据结构的选择,要比算法优化更重要 // 要有时间复杂度的敏感性,比如:length不能遍历查找,要单独存储 阅读全文
摘要:
定义一个函数,输入一个单向链表的头节点,反转该链表,并输出反转之后的头节点 链表 链表是一种物理结构(非逻辑结构),是数组的补充。 数组需要一段连续的内存空间,而链表不需要。 数据结构 - 单向链表 `{ value, next }` - 双向链表 `{ value, prev, next }` 两 阅读全文