题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805526272000000 解题思路: 由于是求两个多项式之和,并且多项式的指数是从大到小进行排列的,相加时有合并和消除的操作 因此选用了较为灵活的链表结构,将输 ...
分类:
其他好文 时间:
2018-07-29 10:45:07
阅读次数:
138
简介 Freertos的内存管理分别在heap_1.c,heap_2.c,heap_3.c,heap_4.c,heap_5.c个文件中,选择合适的一种应用于嵌入式项目中即可。 本文的图片中 红色部分Block代表:在内存对齐过程中舍弃掉的部分字节。 蓝色部分Block代表:链表结构体头,包含可以分配 ...
分类:
其他好文 时间:
2018-07-18 17:08:21
阅读次数:
210
题目要求不修改链表结构,同时不用额外的内存,去找到链表中环的起点。 我们可以通过快慢指针很容易判断有没有环,接下来,再把快指针的步伐也变为1并从head开始走,那么快慢指针再次相遇对应的指针就是环的起点。 解释:可以把问题抽象成一个直线和圈的结构, 粉色点表示相遇点,那么快指针走过a+b+c+b,慢 ...
分类:
其他好文 时间:
2018-07-16 20:01:42
阅读次数:
134
今天刷题碰到链表的结构体: struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; 比普通的链表结构体定义多一行,经查阅了解,原来结构体里面也可以定义构造函数,然后一想,那struct ...
分类:
其他好文 时间:
2018-07-12 22:40:27
阅读次数:
147
链表(Linked list):是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。 使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随 ...
分类:
其他好文 时间:
2018-07-09 19:07:54
阅读次数:
145
这里以双向循环链表为例。一般定义的链表结构,如整数的链表,会用到如下结构: 那么这里会有一个很明显的缺点,如果把int换成别的数据类型,又想定义一个类似的链表,那么又得定义另一个list_xxx结构,然后把各种链表操作再重写一遍。 实际上,这个问题有一个解决方法,在《Linux内核设计与实现》这本书 ...
分类:
系统相关 时间:
2018-07-06 13:09:07
阅读次数:
154
一、数据类型 redis的数据结构是key-value的键值对的形式,但是它和传统String-String的键值对形式不一样,它的value不仅仅是string类型,而是有着丰富的数据类型,如: 1)string -> 二进制安全的,处理任何字符串,包括空字符串 2)list -> 有序链表结构的 ...
分类:
其他好文 时间:
2018-07-01 00:30:51
阅读次数:
131
本篇文章主要总结一下JAVA中实现的几种数据结构 简述: List<?>:链表结构。通常情况下只会用到ArrayList和LinkedList,Vector和Stack的功能都可以用List进行实现,后面将不再进行介绍。 Queue<?>:队列,只允许在表的前端(front)进行删除操作,而在表的后 ...
分类:
编程语言 时间:
2018-06-27 18:54:19
阅读次数:
136
1. 链表 链表是一种非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的;链表由一系列节点组成,每个节点包含存储数据元素的数据域和存储下一节点地址的指针域。由于不必按顺序存储,链表在插入元素时可以达到O(1),但在查找某一元素时为O(n); 使用链表结构可以克服数组链表需要 ...
分类:
其他好文 时间:
2018-06-20 00:05:11
阅读次数:
176
lists类型及操作list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等,操作中key理解为链表的名字。Redis的list类型其实就是一个每个子元素都是string类型的双向链表。链表的最大长度是(2的32次方)。我们可以通过push,pop操作从链表的头部或者尾部添加删除元素。这使得list既可以用作栈,也可以用作队列。有意思的是list的pop操作还有阻塞版本的,当我
分类:
其他好文 时间:
2018-06-03 23:32:11
阅读次数:
199