zoukankan      html  css  js  c++  java
  • C语言(十七)链表

    一、算法

            通俗定义:

                解题的方法和步骤

            狭义定义:

                对存储数据的操作

                对不同的存储结构,要完成某一个功能所执行的操作时不一样的

                比如:

                   要输出数组中所有的元素的操作和

                   要输出数组中所有元素的操作肯定是不一样的

                这说明:

                   算法是依附于存储结构的

                   不同的存储结构,所执行的算法是不一样的

            广义定义:

                广义的算法也叫泛型

                无论数据是如何存储的,对该数据的操作都是一样

            我们至少可以通过两种结构来存储数据

                  数组

                    优点:

                      存取速度快

                    缺点:

                      需要一个连续的很大的内存

                      插入和删除元素的效率很低

                  链表

                    专业术语:

                        头结点

                          头结点的数据类型和首节点的类型是一模一样的

                          头结点是首节点前面的那个节点

                          头结点并不存放有效数据

                          设置头结点的目的是为了方便对链表的操作                        头指针

                          存放头结点地址指针变量

                        首节点

                            存放第一个有效数据的节点

                        尾节点

                            存放最后一个有效数据的节点

                    优点:

                      插入删除元素效率高

                      不需要一个连续的很大的内存空间

                    缺点: 

                      查找某个位置的元素效率低

  • 相关阅读:
    mybatis中的缓存
    mybatis中的延迟加载
    mybatis中的ResultMap关联映射
    mubatis中为什么实体类要继承Serializable
    【经验总结-markdown】markdown字体和颜色设置
    【算法】动态规划
    【刷题-PAT】A1135 Is It A Red-Black Tree (30 分)
    【刷题-PAT】A1126 Eulerian Path (25 分)
    【刷题-PAT】A1119 Pre- and Post-order Traversals (30 分)
    【刷题-PAT】A1114 Family Property (25 分)
  • 原文地址:https://www.cnblogs.com/Maxwell599/p/3182493.html
Copyright © 2011-2022 走看看