数据结构
evillist
这个作者很懒,什么都没留下…
展开
-
【数据结构和算法】面试中的红黑树
红黑树1. 数据结构定义 在二叉查找树平衡的情况下,才能保证最坏查找时间为lgN 但2-3树要维护两种类型不同的节点,额外开销太大 红黑树:红链接 用两个2-节点代替3-节点;黑链接 就是2-3树中的2-节点 2-3树 等价转换成 红黑树 public class RedBlackBST<Key extends Comparable<Key>, Value>{ private Node原创 2017-06-01 10:32:47 · 1047 阅读 · 0 评论 -
笔试之排序算法(一)
排序(升序)0. 冒泡排序0.1 算法思想 临近的数字两两进行比较,逆序则交换,一趟过去最大的元素被放到最后一位。 再对前n-1个元素进行上述操作,直到第一个元素 0.2 性能分析 最坏情况: 比较次数:(N-1)+(N-2)+……+2+1=N(N-1)/2~$N^2/2$ 交换次数:同上 最好情况: 比较次数:(N-1)+(N-2)+……+2+1=N(N-1)/2~$N^2/2$ 交换次数:0原创 2017-06-06 12:28:14 · 662 阅读 · 0 评论 -
【编程练习】单链表逆序Java实现
取出原始链表的第一个节点A,然后将该节点作为新链表的头节点。对原始链表遍历一次,就完成了这个工作,所以这个算法的复杂度为O(n)。old_head和 new_head分别表示原始链表的头节点和新链表的头节点。 public class LinkedListReverse { static class ListNode{ int data; ListNode ne原创 2017-08-12 17:32:17 · 1857 阅读 · 0 评论