C++编程:何洁月教授讲解折半查找与面向对象
需积分: 9 181 浏览量
更新于2024-08-23
收藏 3.83MB PPT 举报
"折半查找的基本思想-东南大学C++何洁月课件(总)"
本文主要探讨了折半查找(也称为二分查找)的基本思想,这是在已排序的序列中寻找特定元素的一种高效算法。在C++编程语言中,折半查找广泛应用于数据结构如数组或有序列表。该算法利用了序列的有序性,通过每次比较减少查找范围,从而快速定位目标元素。
折半查找的工作原理如下:
1. 首先,确定序列的中间位置,比较中间元素与目标值。
2. 如果中间元素是目标值,查找结束。
3. 如果目标值小于中间元素,那么目标值必然位于序列的左半部分,于是忽略右半部分,重复步骤1,但只在左半部分进行查找。
4. 如果目标值大于中间元素,那么目标值应该在序列的右半部分,此时忽略左半部分,对右半部分重复步骤1。
5. 这个过程一直持续到找到目标值或者搜索范围为空(即无法再分割),未找到则表示序列中没有目标值。
这种查找方式的优势在于,每次比较都能将查找区间减半,因此平均时间复杂度为O(log n),远优于线性查找的O(n)。然而,它依赖于数据的预排序,不适用于无序数据集。
此外,提到了这门课程的一些其他内容,包括C++语言的基础知识和面向对象编程的概念。课程涵盖了以下几个方面:
1. **C++基础**:介绍C++语言的基本语法和语义,帮助学生建立起计算机程序设计的基本概念和方法。
2. **数据类型和表达式**:讲解C++中的基本数据类型,如整型、浮点型等,以及如何使用表达式进行计算。
3. **输入/输出操作**:教授如何使用C++标准库进行数据的输入和输出,如使用cin和cout。
4. **控制结构**:涵盖条件语句(if-else)、循环(for、while、do-while)等,这些都是实现算法逻辑的关键。
5. **自定义数据类型**:讲解如何通过结构体、联合体和枚举来定义自己的数据类型。
6. **函数**:包括函数的定义、调用,内联函数、默认参数值、函数重载、函数模板等高级特性。
7. **类与对象**:介绍面向对象编程的核心概念,如封装、继承和多态,以及类、对象、构造函数、析构函数和类模板的使用。
8. **面向对象编程**:强调面向对象的思想,解释其基本特点,以及如何通过类的组合和面向对象标记实现复用和扩展。
通过这门课程,学生不仅可以学习到C++的基础知识,还能深入了解面向对象编程,为后续的软件开发打下坚实的基础。
2020-08-07 上传
2015-09-27 上传
2009-06-10 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-05-22 上传
2020-12-16 上传
深井冰323
- 粉丝: 24
- 资源: 2万+
最新资源
- cst251:CST-251的类仓库
- httpdmon:Apache实时日志文件监视器
- 基于 网络爬虫 和 数据可视化 等技术实现的 优质电影数据分析 平台(Python).zip
- 大功率DCDC升压电源与DCAC逆变器电路原理图与PCB图设计
- curso-java:Meus primeiros passos na liguagem
- smart_surveillance
- MADVLSI-MP4
- dltmatlab代码-simulator-multiHop-wireless:具有移动终端的多跳无线网络的可用性性能
- MonoGameBook:MonoGame的代码示例可在GameFromScratch.com上免费获得
- BerthouYannis_3_12022021:Ohmyfood
- 行业文档-设计装置-一种利用导热油作为介质的储热式太阳能热水器.zip
- test_freelance
- Fire框架是由中通大数据自主研发并开源的、专门用于进行Spark和Flink任务开发的大数据框架,可节约70%以上.zip
- PBv2-PostFixes:PlayBox v2的后期修正,调整等
- dltmatlab代码-cvtoolbox:一些用于图像处理的实用程序代码
- austin-bootstrap-practice