一:线性查找法:1:算法和数据结构内容概述;

本文概述了一门全面介绍算法和数据结构的课程,旨在帮助学习者深入理解和感性认识,而非仅仅机械掌握。课程涵盖十大排序算法、二分查找及其扩展、线性与树形数据结构、高级数据结构以及字符串处理算法。同时,课程通过实例讲解,如二分查找的边界问题、递归调试、快速排序的优化等,以培养正确编程和调试的习惯,构建个人的算法与数据结构体系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

声明:

          ● 本专栏是自己在学习慕课网Liuyubobobo老师的《算法与数据结构体系课》 时,自己做的笔记;

          ● 主要目的是供自己学习、总结、回顾之用,其中很多内容书写记录的时候包含了很多个人语言;

          ● 读者如果想更好的理解算法和数据结构的内容,可以去慕课网上观看 《算法与数据结构体系课》课程,以期更能够以“第一手”的感觉来学习,体验和效果也会更好。

          ● 本专栏的所有可能收益,本人会JZ给CFPA;

说明:

(1)本篇博客内容:介绍了【算法和数据结构】包括哪些内容;只是一个摘要性质的简介; 

目录

一:课程内容概述:本体系课程,会系统、全面的介绍算法和数据结构的内容;

二:课程目的:不仅仅是机械性的掌握,而是要深入理解、感性认识;

三:课程特点:这个课程面向基础、图画展示,希望通过本课程构建自己的一个【算法和数据结构体系】,体验算法优化、测试等过程;


一:课程内容概述:本体系课程,会系统、全面的介绍算法和数据结构的内容;

(1)● 包括十大排序算法,也包括这些排序算法的优化;

(2)● 在介绍二分查找的时候,会介绍很多扩展内容;

         ● 很多问题看起来不像是查找问题,但是却可以使用二分查找法去解决;

         ● 在计算机的世界中,很多问题本质就是查找;有时,为了解决数据查找问题,就需要引入数据结构了;

(3) 线型数据结构是基础的;

(4)树结构是必须要深入掌握的;

(5)高级数据结构;

(6)在计算机中,处理字符串相关的算法也是很重要的;

二:课程目的:不仅仅是机械性的掌握,而是要深入理解、感性认识;

目的:不仅仅学习了一些算法、数据结构是怎么实现的;更重要的目的是,深刻理解计算机科学;

为了实现上述目的,本课程在讲解有以下特点(仅仅是举了几个例子):

(1)在介绍【二分查找】时,会涉及:

         ● 如何编写正确的程序;以及如何解决边界问题等;

(2)在介绍【快速排序】【归并排序】【链表】【树结构】时,会涉及:

         ● 如何调试递归的代码;

         ● 在算法优化的过程中,希望能对算法有一个感性的认识,而不仅仅是机械的掌握;

(3)在介绍【快速排序】时,会涉及:

         ● 这儿快排序不仅仅展示算法过程;

         ● 快速排序算法也会包括递归的内容,然后这儿也会涉及排序算法的优化;

         ● 快速排序算法本身也是一个随机随机算法,所以在介绍快排的时候,也会涉及随机算法;

(4)在介绍【哈希表】和【字符串匹配中的RK算法】时,会涉及:

         ● 【哈希】这个东西的使用思路、使用场景、局限性;

(5)在介绍【桶排序】和【sqrt分解】时:会涉及:

         ● 【分块思想】(这是计算机领域解决问题时,很重要的一个思想);

(6)在介绍【线段树】和【sqrt分解】时,会涉及:

         ● 当【处理区间问题、进行区间估计】的时候,经常使用的思路和需要注意的方向;

 (7)在介绍【希尔排序】时,会涉及:

         ● 会发现希尔排序是一个没有固定写法的算法(或者说,具体实现希尔排序的时候,算法内部存在一个超参数);

         ● 通过分析希尔算法,会感受到:对于很多算法,其最优写法是怎样的,我们并不能确定;

(8)在介绍【KMP算法】时,会涉及:

         ● KMP算法有很多种实现方式,其中一种实现方式会涉及【有限状态自动机】这个概念;

(9)在介绍【B树】时,会涉及:

         ● 在设计算法和数据时,是分内存算法和外存算法的;

         ● 大多数算法是内存算法,而但当我们处理的数据是外存的时,考量可能是不同的;


即,通过本课程,更重要的目的是深入理解计算机科学;

然后,在课程内容中,除了算法与数据结构的具体实现;会涉及在计算机科学中,解决问题的思路和方法(递归、分块、哈希、DFS、BFS…)

然后,希望借由本课程能够培养一个重要的习惯、思维方式:如何编写正确的程序,如何调试程序; 

最后,顺带熟悉下Java语言;

三:课程特点:这个课程面向基础、图画展示,希望通过本课程构建自己的一个【算法和数据结构体系】,体验算法优化、测试等过程;

但是,本课程不包括图论算法;

本课程某些专题中,会通过LeetCode中的题目来巩固;

至于刷题,【本课程中内容】是【刷题】的基础;但是,从本课程内容到刷题,中间还是有一个小小的鸿沟的,需要自己跨过去;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值