![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
王翔乐
这个作者很懒,什么都没留下…
展开
-
数据结构之线性表 顺序表 链表
1.线性表 线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结 构,常见的线性表:顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物 理上存储时,通常以数组和链式结构的形式存储。 2.顺序表 顺序表是用一段物理地址连续的存储单元依次存储数据...原创 2019-07-25 08:45:50 · 199 阅读 · 0 评论 -
初识数据结构
复杂度 :粗略衡量算法好坏的刻度尺。(工具) 两个维度 : 快慢 时间复杂度 使用空间的情况 空间复杂度 时间复杂度: 之间利用允许时间衡量不现实。测试环境多变,不好控制变量。 前提:如果指定的cpu的情况下,单位时间内运行的基本指令的个数是固定的。 如果一个算法需要的指令比另一个算法需要的个数小,就可以推算A运行的更快。 前提:算法计算的快慢和输入...原创 2019-07-22 15:34:21 · 74 阅读 · 0 评论 -
数据结构之多个链表问题
在数据结构中链表成了我们常见的一种形式,链表的内容学习起来比较绕,学者容易和C语言中的数组或者指针进行混淆,下面列出几道关于链表的习题供大家参考。 编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 。 源代码 public class ListNode { int val; ListNode next = null; Lis...原创 2019-07-27 08:47:24 · 531 阅读 · 0 评论 -
数据结构之链表相交问题
一.链表相交判断问题: 1.先各自求出链表的长度。 2.让长的走长度差步。 3.同时走第一次相遇的点就是交点。 下面是代码: public class Solution { private int getLength(ListNode head) { int len = 0; for (ListNode c = head; c != null; ...原创 2019-07-27 15:43:47 · 139 阅读 · 0 评论 -
数据结构 链表
数据结构 初始化 (构造方法) 增/删/查/改 (普通方法) 销毁 (可能不存在) 线性结构 顺序表 1.思考,写出伪代码。 1)从后往前移,避免覆盖。 2)空心:[size,1] 数据被移动的下标 k 实心:[size-1,0] ...原创 2019-07-23 15:41:42 · 90 阅读 · 0 评论 -
栈 队列 二叉树
本节内容以习题的形式呈现 给定一个包含n个整数的数组nums,判断数组nums是否有a,b,c,使得a+b+c=0?找出所有满足条件且不重复的三元组。 例如,给定数组nums={-1,0,1,2,-1,-4};满足上述要求的三元组为 [ [ -1,0,1 ] [-1,-1,2 ] ] public List<...原创 2019-09-19 15:55:13 · 149 阅读 · 0 评论 -
堆
堆 逻辑 完全二叉树 物理 数组 (重要) 性质 在集合中找最值 left=2*parent+1 right=2*parent+2 parent=(child-1)/2 操作-向下调整 时间复杂度O(log(n)) O(1) 操作-建堆 时间复杂度O(n)|O(n*log(n)) O(1) 堆—动态找最大值 1...原创 2019-09-24 16:40:06 · 84 阅读 · 0 评论