zoukankan      html  css  js  c++  java
  • 链表初探(链表反转)

    实话说,我大学时代数据结构和算法学得真不好,尤其是链表。所以今天准备整理下链表相关的。

    为什么要有链表?

    我们知道数组在内存中是占有连续的空间的,但这种占有连续空间的数据结构会造成一种内存空间浪费,会散列许多分散的内存空间的,所以我们需要将这些空间利用起来,那么我们需要一种数据结构来将这些散列的内存空间利用起来,这时候就出现了链表这种数据结构。我们先来看看链表的结构:

      public class ListNode{
            int val;        //存数据值
            ListNode next;  //表示指向下个节点
            public ListNode(int val){
                this.val=val;
                this.next=null;
            }
        }

    链表的优势和主要应用场景

    链表的结构我们都知道了,那么其主要的优势是什么呢,我们还是拿数组来做对比,由于链表的这种结构,以及其在内存空间存在的形式,那么其优势就是其可扩展性,链表非常适合插入和删除频繁多的操作的场景了。但是链表(o(n))相比于数组(o(1))来说,其查找的效率比较低,所以其主要实用场景是:对线性表的长度或者规模难以估计;频繁做插入删除操作;构建动态性比较强的线性表。(引用)

  • 相关阅读:
    密码学-网站的安全登录认证设计
    密码学-软件加密技术和注册机制
    密码学-数字证书原理
    Linux-ssh证书登录(实例详解)
    unity, multi collider
    unity, 相机空间 与 相机gameObject的局部空间
    unity, WaterProDaytime注意事项。
    unity, 欧拉角(euler angle)
    unity, mono断点
    unity5, import fbx注意事项
  • 原文地址:https://www.cnblogs.com/LcMiho/p/10120936.html
Copyright © 2011-2022 走看看