
数据结构&算法
文章平均质量分 58
整理常见数据结构及leetcode刷题总结
MrsSun1122
美食、健身、敲bug
展开
-
字符串匹配
BF算法 其思路很简单:从目标字符串初始位置开始,依次分别与模板的各个位置的字符比较,如相同,比较下一个位置的字符直至完全匹配;如果不同则跳到目标字符串下一位置继续如此与模板比较,直至找到匹配字符串并返回其位置。我们注意到Brute Force 算法是每次移动一个单位,一个一个单位移动显然太慢,设目标串String的长度为m,Pattern的长度为n,不难得出BF算法的时间复杂度最坏为O(mn),原创 2017-06-05 10:58:20 · 254 阅读 · 0 评论 -
排序算法
1.堆排序 此处的堆其实就是以数组形式存储的完全二叉树。堆排序如果从时间复杂度的角度上来看是最稳定的排序方法,无论最好最坏,时间复杂度都是O(nlogn)。 堆有两种堆,需要我们注意,一种是大顶堆,即所有父节点比其子节点的值都要大(a[K] > a[2*K+1] && a[K] > a[2*K+2]);另一种便是小顶堆,即所有父节点比其子节点的值都要小(a[K] < a[2*K+1] && a原创 2017-06-03 15:26:15 · 313 阅读 · 0 评论 -
链表题总结(以LeetCode为主)
237. Delete Node in a Linked List Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.Supposed the linked list is 1 -> 2 -> 3 -> 4 and you are转载 2017-03-12 10:12:26 · 768 阅读 · 0 评论