数据结构——学习数据结构的困惑
数据结构的意义
1,数据结构如何学习?
1,先从概念上形象的理解数据元素之间的关系;
1,关系即数据结构;
2,为什么要这种结构,用来干什么?
2,思考这种关系能够解决什么问题;
1,数组;
2,解决与数列相关的问题,必然要用到数组这种数据结构;
3,考虑基于这种数据结构能够产生哪些算法:
1,通过数组来排序(选择、冒泡、快速);
2,排序基于数组;
4,理解和熟悉最终的算法;
1,设计的核心思想什么?
5,选择一种熟悉的语言,编码实战;
1,关上电脑和书,实战;
2,工作中会用到数据结构的知识吗?只进行嵌入式开发,需要用到数据结构(跑步相对于打乒乓球)知识吗?
1,不管从事什么工作,只要是和计算机相关,都会用到;
2,不是原样的搬算法,而是训练一种思维方式;
3,数据结构是计算机领域的基础课程,在学习过程中养成的思维方式将影响整个职业生涯;
3,学习大数据分析需要用到数据结构只知识吗?
1,数据结构组织和处理小数据集合;
2,大数据组织和处理超大数据集合;
1,购物平台限时促销活动:
1,将半年内的 1 亿用户大数据来定性分析;
2,多台计算机并行处理的算法;
3,随机抽取数据的随机算法;
4,外存算法;
2,不管多么不同,当局部处理数据的时候,还是要用到数据结构中的知识;
4,学习人工智能需要用到数据结构知识吗?
1,人工智能研究的课题:
1,知识的模型化和表示方法:
1,模型化和表示方法是特指用计算机模型现有的知识;
2,知识相关的理论,模型化为具体的数据结构;
2,启发式搜索理论:
1,搜索指搜索答案的搜索;
3,各种推理,规划,演绎和归纳的方法;
2,让机器边的像人类一样有智慧,要基于知识和算法;
5,学习操作系统需要用到数据结构吗?
1,内存管理:
1,需要设计页映射表相关的数据结构和访问算法;
2,进程管理:
1,需要设计表示进程的数据结构(PCB)和资源分配算法;
3,线程管理:
1,需要设计表示线程的数据结构(TCB)和调度算法;
6,数据结构课程会涉及算法设计吗?
1,数据结构以数据元素的结构设计为主,相关算法学习为辅;
7,数据结构课程的内容学完,是不是就可以放下这门课了?
1,数据结构和算法的训练应该贯穿整个软件开发的职业生涯;
2,基础决定高度;