一、题目 1、审题 2、分析 给出一个二叉树,将每一层节点值放在一个集合中,最终返回每一层节点值的所有集合。 二、解答 1、思路: 方法一、 ①、首先,二叉树父即节点入队列。 ②、队列头结点依次出队列,直到队列为空,并将每次出队列的队头节点放在一个 List 中 ③、若队列为空时,说明这一层所有节点 ...
分类:
其他好文 时间:
2018-09-28 23:01:48
阅读次数:
198
数据结构中队列是一种线性的存储结构,该结构的特性是先进先出(将首先处理添加到队列的第一个元素),操作步骤如下图所示: 该结构的具体实现是:初始化队列,提供一个list集合data,并为该集合设置一个p_start属性,该属性记录元素头节点的位置,在添加元素时,调用add()方法,在删除元素时首先判断 ...
分类:
其他好文 时间:
2018-09-26 19:05:45
阅读次数:
169
在编程领域,数据结构与算法向来都是提升编程能力的重点。而一般常见的数据结构是链表,栈,队列,树等。事实上C#也已经封装好了这些数据结构,在头文件 System.Collections.Generic 中,直接创建并调用其成员方法就行。不过我们学习当然要知其然,亦知其所以然。 本文实现的是链表中的单链 ...
单链表是一种数据的组合形式。它在插入和删除数据时效率比数组高。单链表的存储空间是在程序运行时动态分配的。由于在很多应用中数据的大小在编译的时候无法确定,因此动态分配存储空间是单链表的一个优点。 因为c库中没有现成的链表这种数据结构,所以需要开发者用结构体自己构建。 单链表分为头节点和普通节点。尾节点 ...
分类:
其他好文 时间:
2018-09-08 23:30:22
阅读次数:
186
//剑指offer 之 链表 //面试题6 从尾到头打印链表 /***************************************************************************************** 问题描述: 输入一个链表的头节点,从尾到头反过来打印出每... ...
分类:
其他好文 时间:
2018-09-06 14:37:55
阅读次数:
181
继承AbstractSequentialList 实现了顺序访问列表 实现List、Deque、Cloneable List接口定义List集合的操作方法 Deque支持在两端插入和删除元素的线性集合。 Cloneable实现此接口的类可以进行拷贝操作 重要说明: 1、定了first头节点(firs ...
分类:
其他好文 时间:
2018-09-06 00:09:28
阅读次数:
201
回文链表: 1.首先快慢指针获取中间节点 2.利用栈存储后半段节点值 或者反转后半段 3.前半部分链表与栈进行值比较,出现不等则表示非回文链表 合并两个有序链表: 1.空表检查 2.新建表头 3.表1和表2进行对比,逐个插入到表头 4.返回链表头节点 ...
分类:
其他好文 时间:
2018-09-05 00:54:02
阅读次数:
129
1.概念 上一个文章里我们已经了解到链表结构,链表的特点是长度不固定,不用担心插入新元素的时候新增位置的问题。插入一个元素的时候,只要找到插入点就可以了,不需要整体移动整个结构。 这里我们了解一下双向链表的结构。尽管从链表中头节点遍历到尾节点很容易,但是反过来,从后向前遍历就没有那么简单。通过给No ...
分类:
Web程序 时间:
2018-09-04 11:41:49
阅读次数:
166
1.无向图 并查集:检查每一条边的两个端点是否是相同的连通子图,如果是相同的,说明存在环; 深度遍历:使用邻接矩阵,只需要用一个数组标记是否访问过,如果访问过且不是该节点的父节点,则有环; 广度优先:可以; 2.有向图 拓扑排序:用一个队列记录入度为0的点,然后将他们去除时,另边的另一头节点的入度减 ...
分类:
其他好文 时间:
2018-08-17 19:58:07
阅读次数:
135
1、一个栏位(hashmap数组的一个位置),放置的node有这几种可能:A null;B 链表的头节点,这是的hash值和后继节点的hash值是一样的,而且和数组位置也是一一对应的,是个正数;C transfer中,会把hash值为-1的一个firstNode放在这里,标志这个位置正在被trans ...
分类:
其他好文 时间:
2018-08-17 12:10:43
阅读次数:
132