C++编程:何洁月教授讲解折半查找与面向对象

需积分: 9 3 下载量 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++的基础知识,还能深入了解面向对象编程,为后续的软件开发打下坚实的基础。