博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第二章学习小结
阅读量:6329 次
发布时间:2019-06-22

本文共 898 字,大约阅读时间需要 2 分钟。

1、本章学习到了顺序表和链表的表示以及相关的操作以及各类操作的平均时间复杂度(一般默认为最坏情况的时间复杂度)、以及顺序表和链表的空间性能和时间性能的比较、以及有序表的合并

(一)顺序表(1)特点:逻辑上相邻,物理上也相邻、随机存取的存储结构、存取密度大(为1)

                     (2)各操作的时间复杂度:取值算法:O(1) 、 查找算法:O(n)、插入算法:O(n)、删除算法:O(n)

                              以上操作的空间复杂度S(n)=O(1) [没有占用辅助空间]

(二)链表(1)特点:逻辑上相邻,物理上不一定相邻、顺序存取、存取密度小于1

                  (2)单链表可由头指针唯一确定

                  (3)首元结点:是指链表中存储第一个数据元素的结点

                           头结点:在首元结点之前的一个结点,指针域指向首元结点

                           头指针:指向链表中的第一个结点(有无头结点)

                 (4)各操作的时间复杂度:取值算法:O(n)、查找算法:O(n)、插入算法:O(n)、删除算法:O(n)

                 (5)单链表的创建:(1)前插法  (2)后插法

                 (6)带有头结点的空表:L->next=NULL;(头结点的指针域为空)

                          不带头结点的空表:L==NULL(L为单链表的头指针)

(三)链表:a)线性表长度变化较大

                     b)频繁进行插入删除操作

          顺序表:a)线性表长度变化不大

                        b)线性表的主要操作是和元素位置紧密相关的这类取值操作,很少做插入删除操作

(四)指针在初始化时需要动态申请空间 int*a=new int [大小] 等同于int*a; a = new int [大小]; ,静态数组初始化时不需要动态申请空间

2、多看书多学习(课本上有很多小的知识点很有用)、遇到不懂的知识点就问同学查百度

     当数组长度过大时一般将数组定义为全局变量,因为局部变量存储在栈区,全局变量存储在堆区,可以避免数组长度过大导致的栈溢出

3、参考了上学期学习的《c++程序设计教程》P188-200

4、代码的格式不熟悉,看完题目没有头绪,想不出算法

5、接下来的目标是能够把代码打好,多学习相关的代码知识

转载于:https://www.cnblogs.com/pppipio/p/10537488.html

你可能感兴趣的文章
详解如何将MathType嵌入word中
查看>>
vue发送请求---fetch-jsonp
查看>>
DOM对象与Jquery对象区别
查看>>
洛谷 P1546 最短网络 Agri-Net(最小生成树)
查看>>
希尔排序及希尔排序java代码
查看>>
gdb
查看>>
Centos设置开机启动Apache和Mysql[总结]
查看>>
c# SendMail
查看>>
php.ini修改php上传文件大小限制的方法
查看>>
OSGEarth环境搭建
查看>>
ubuntu 12.10 进入命令行界面 (字符界面)
查看>>
mysql查询正在执行的进程
查看>>
JavaScript核心语法学习部分(六)
查看>>
vc6.0 使用Ado 连接MS-SqlServer2000 连接字符串
查看>>
[2009.03.22 21:37:00] 肖申克的救赎-The Shawshank
查看>>
戏说Nginx(三)
查看>>
允许普通域用户登录域控制器
查看>>
比特币代码分析8 区块校验和确认
查看>>
抓包工具
查看>>
MySQL explain type详解
查看>>