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

    一、算法

            通俗定义:

                解题的方法和步骤

            狭义定义:

                对存储数据的操作

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

                比如:

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

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

                这说明:

                   算法是依附于存储结构的

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

            广义定义:

                广义的算法也叫泛型

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

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

                  数组

                    优点:

                      存取速度快

                    缺点:

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

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

                  链表

                    专业术语:

                        头结点

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

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

                          头结点并不存放有效数据

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

                          存放头结点地址指针变量

                        首节点

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

                        尾节点

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

                    优点:

                      插入删除元素效率高

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

                    缺点: 

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

  • 相关阅读:
    【bzoj1616】[Usaco2008 Mar]Cow Travelling游荡的奶牛 bfs
    【bzoj1614】[Usaco2007 Jan]Telephone Lines架设电话线 二分+SPFA
    【bzoj1609】[Usaco2008 Feb]Eating Together麻烦的聚餐 dp
    【codevs1404】字符串匹配 KMP
    【bzoj4196】[Noi2015]软件包管理器 树链剖分+线段树
    【codevs3160】最长公共子串 后缀数组
    【bzoj4698】[Sdoi2008] Sandy的卡片 后缀数组
    【bzoj4278】[ONTAK2015]Tasowanie 贪心+后缀数组
    【bzoj1692】[Usaco2007 Dec]队列变换 贪心+后缀数组
    【bzoj1717】[Usaco2006 Dec]Milk Patterns 产奶的模式 后缀数组+离散化
  • 原文地址:https://www.cnblogs.com/Maxwell599/p/3182493.html
Copyright © 2011-2022 走看看