题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 创建链表相关,头插法和尾插法 关于头插法,可以next可以理解成前一个节点地址,插入顺序: 1、头节点传入,开始创建A数据,头节点的next指向A数据的内存地址,A节点的next替换成头节点的 2、头节点再传入,创建B数据,头 ...
分类:
其他好文 时间:
2020-04-06 13:27:24
阅读次数:
63
1.数据结构之链表 链表是最基本的动态数据结构,是真正的动态结构,不需要处理固定容量,但与此同时带来的是随机访问能力的丧失,其原因是底层内存分配不连续。 小tip:虚拟头节点dummy的作用在于,让对链表头节点的操作和链表中其他节点的操作相同,不需要对头节点单独处理。 2.链表相关题目 2.1从尾到 ...
分类:
其他好文 时间:
2020-03-30 11:09:41
阅读次数:
68
一.思维导图 二.重要概念 1.算法 (1)评价算法的优劣性:时间复杂度(随问题规模变化)和空间复杂度(随占用额外的存储空间变化) 2.链表 (1)头插法与尾插法 3.栈 (1).栈的插入与删除是对栈顶操作的,插入要判断是否栈满,删除要判断是否栈空 (2).栈的基本操作为push(入栈)和pop(出 ...
分类:
其他好文 时间:
2020-03-29 10:42:07
阅读次数:
70
一、思维导图 二、重要概念 1.算法 (1)时间复杂度的计算 2.线性表 (1)头插法建立单链表:建立的表格元素顺序与输入元素顺序相反 (2)尾插法建立单链表 3.栈和队列 (1)Stack 栈的进栈出栈规则: ? 按序进栈→有n个元素1,2,…,n,它们按1,2, …,n的次序进栈(i进栈时, 1 ...
分类:
编程语言 时间:
2020-03-28 20:21:49
阅读次数:
185
过程分析: 1. 原链表 1 2 3 2. 新建new节点,指向1,1指向null,此时head更新2 3. head(2)插入new之后,1之前,此时head更新为3 4. head(3)插入new之后,2之前 规律总结: 通过newList保存当前节点,通过下一次操作把新的节点插入二者之间实现反 ...
分类:
其他好文 时间:
2020-03-22 01:26:27
阅读次数:
81
0. PTA得分截图 1. 本周学习总结 1.1 总结线性表内容 1.顺序表结构体定义 2.顺序表插入 3.顺序表删除 4.链表结构体定义 5.头插法建链表 6.尾插法建链表 7.链表插入 8.链表删除 10.有序单链表数据删除 11.有序表合并(二路归并算法) 12.循环链表特点 13.双链表结构 ...
分类:
其他好文 时间:
2020-03-08 13:57:32
阅读次数:
64
1. 前言 上一篇从源码方面了解了JDK1.7中Hashmap的实现原理,可以看到其源码相对还是比较简单的。本篇笔者和大家一起学习下JDK1.8下Hashmap的实现。JDK1.8中对Hashmap做了以下改动。 默认初始化容量=0 引入红黑树,优化数据结构 将链表头插法改为尾插法,解决1.7中多线 ...
分类:
编程语言 时间:
2020-03-06 11:19:12
阅读次数:
78
栈:先进后出。 进制转换原理图: 下面是栈的代码 stack.h #ifndef STACK_H #define STACK_H #include <stdio.h> #include <stdlib.h> #include <unistd.h> typedef struct StackNode{ ...
分类:
其他好文 时间:
2020-03-06 09:16:52
阅读次数:
80
如果你看到标题就知道我在说什么,那么出门左拐,自己动手写一下伪代码。只有自己亲手写出和画出,才能更好的掌握。 现在有一个链表,Head指向头 然后使用temp保存Head中原来含有的结点的第一个结点,此时p指向第一个待插入结点 此时将head尾部置空 将 p 加入head头部,然后 p 后移一位。往 ...
分类:
其他好文 时间:
2020-02-25 20:16:30
阅读次数:
87
题目地址 链表部分反转 憨比解法,找到反转段的pre,反转中间段的同时记录尾节点,再接上后面一段 优秀解法,中间段的反转用头插法的思路 注意用个dummy头结点会比较方便处理边界 code1 code2 ...
分类:
其他好文 时间:
2020-02-11 19:30:21
阅读次数:
75