• 已删除用户
童话的爱
童话的爱
发布于 2023-08-28 / 54 阅读 / 0 评论 / 0 点赞

(没写完)[学习笔记]图解数据结构与算法 - 数据结构简介

简单了解下数据结构:

数据结构是为了解决实现对计算机数据的有效使用而开发的一系列'形式',它们服务于各类计算机的操作。不同的数据结构具有对应的使用场景,使用数据结构是为了降低各种算法计算所耗费的时间及内存占用、空间复杂度,使其达到最佳的任务执行效率。

常见的数据结构:

  1. 线性数据结构

    a. 数组(Array)

    b. 链表 (Linked List)

    c. 栈(Stack)

    d. 队列(Queue)

  2. 非线性数据结构

    a. 树(Tree)

    b. 堆(Heap)

    c. 散列表(Hashing)

    d. 图(Graph)

数组

数组用于存储相同类型的元素,并存储于内存中的连续地址空间内,长度不可变。

链表

链表以节点为单位,每个元素即为一个独立的对象,在内存空间地址上是不连续存储的。链表的节点对象具有两个成员变量:值val ,后继节点引用next

class ListNode {
    int val;        // 节点值
    ListNode next;      // 后继节点的对象的引用
    ListNode(int x) {
        val = x;
    }
}

使用链表时则需要实例化每个节点,并手动标明各个节点的引用。

// 实例化节点
ListNode n1 = new ListNode(4); // 节点 head
ListNode n2 = new ListNode(5);
ListNode n3 = new ListNode(1);

// 构建引用指向
n1.next = n2;
n2.next = n3;


评论