前面分析了HashMap的实现,我们知道其底层数据存储是一个hash表(数组+单向链表)。接下来我们看一下另一个LinkedHashMap,它是HashMap的一个子类,他在HashMap的基础上维持了一个双向链表(hash表+双向链表),在遍历的时候可以使用插入顺序(先进先出,类似于FIFO),或
分类:
其他好文 时间:
2016-01-29 00:23:03
阅读次数:
318
LinkedList是基于链表结构的一种List,在分析LinkedList源码前有必要对链表结构进行说明。 1.链表的概念 链表是由一系列非连续的节点组成的存储结构,简单分下类的话,链表又分为单向链表和双向链表,而单向/双向链表又可以分为循环链表和非循环链表,下面简单就这四种链表进行图解说明。 1
分类:
其他好文 时间:
2016-01-28 21:11:35
阅读次数:
338
将单向链表反转完成如图操作,依次进行即可123 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListN...
分类:
其他好文 时间:
2016-01-26 00:06:51
阅读次数:
191
下载地址:http://pan.baidu.com/s/1i4pMZ9z密码:v9ra算法分析与设计Java版,是一套实用型算法课程。通过本课程的学习,学员可以掌握以下技术点:线性结构与顺序表、单向链表、循环链表、栈的基本概念、链式堆栈、中缀表达式、队列、链式队列、串、MyString、Brute-Force算法、..
分类:
编程语言 时间:
2016-01-21 12:19:03
阅读次数:
219
题目:Sort a linked list inO(nlogn) time using constant space complexity.思路:nlogn的排序有快速排序、归并排序、堆排序。双向链表用快排比较适合,堆排序也可以用于链表,单向链表适合用归并排序。/** * Definition fo...
分类:
编程语言 时间:
2016-01-19 17:19:20
阅读次数:
180
数据结构:单向链表。指针操作,注意Null Pointer的情况 以及链表头指针的操作代码:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; *...
分类:
其他好文 时间:
2016-01-10 10:23:43
阅读次数:
107
问题:实现单向链表的插入排序。 这是比较常规的一个算法题目。 从左往右扫列表,每次将指针的下一个元素插入前面已排好序的对应位置中。
分类:
其他好文 时间:
2015-12-30 01:50:20
阅读次数:
186
看来看来,还是以下这个实现最优雅。。其它的,要么NODE冗余,要么初始化丑陋。。。#!/usr/bin/env python# -*- coding: utf-8 -*-class Node: def __init__(self, initdata): self.__data = i...
分类:
编程语言 时间:
2015-12-28 23:15:50
阅读次数:
213
翻译给定一个访问节点的路径,写一个函数去删除在一个单向链表中除尾部以外的节点。假设这个链表是1 -> 2 -> 3 -> 4,并且你被给予了第3个值为3的节点,那么在调用你的函数之后这个链表应该变为1 -> 2 -> 4。原文Write a function to delete a node (except the tail) in a singly linked list, given only...
分类:
其他好文 时间:
2015-12-25 11:51:12
阅读次数:
169