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

    一、算法

            通俗定义:

                解题的方法和步骤

            狭义定义:

                对存储数据的操作

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

                比如:

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

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

                这说明:

                   算法是依附于存储结构的

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

            广义定义:

                广义的算法也叫泛型

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

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

                  数组

                    优点:

                      存取速度快

                    缺点:

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

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

                  链表

                    专业术语:

                        头结点

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

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

                          头结点并不存放有效数据

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

                          存放头结点地址指针变量

                        首节点

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

                        尾节点

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

                    优点:

                      插入删除元素效率高

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

                    缺点: 

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

  • 相关阅读:
    大伯的八十岁寿辰
    收到 wincore.cpp 中一个 " ASSERT " BUG: 当 MFC 应用程序 Visual C++ 中 MFC 规则 DLL 中调用函数声明
    命名空间Microsoft.Office.Interop.Word不存在....
    中国测绘科学研究院招聘WEBGIS开发工程师与客座研究生
    开源GIS学习笔记 sinoly BLOGJAVA
    2007年7月9日星期一
    转载:使用感受: VC2005 VC6.0
    推荐:用ogr和PIL把矢量数据转化成栅格图像
    《赢在中国》感言
    VS2005的断点无效问题
  • 原文地址:https://www.cnblogs.com/Maxwell599/p/3182493.html
Copyright © 2011-2022 走看看