# 数据结构学习 **Repository Path**: zhangqingdian/data-structure-learning ## Basic Information - **Project Name**: 数据结构学习 - **Description**: 跟随mooc中浙江大学的《数据结构》课程所写的代码及相关知识汇总 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-03 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据结构学习 跟随MOOC中浙江大学的《数据结构》课程所写的代码及相关知识汇总 --- ## MOOC中知识点的简单汇总 ### 第一讲 基本概念 1. 解决问题方法的效率,跟数据的组织方式、空间的利用效率、算法的巧妙程度有关 2. **什么是数据结构**?根据浙大《数据结构》的MOOC,数据结构是**数据对象**在计算机中的组织方式,分为**逻辑结构**和**物理存储结构** 3. **什么是算法**?数据对象必定与一系列加在其上的操作相关联,完成这些操作所用的方法就是**算法** 4. **算法**(或**Algorithm**)更详细的定义 - 一个有限指令集 - 接受一些输入(有些情况下不需要输入) - 产生输出 - 一定在有限步骤后终止 - 每一条指令必须 - 有充分明确的目标,不可以有歧义 - 计算机能处理的范围之内 - 描述应不依赖于任何一种计算机语言以及具体的实现手段 5. **复杂度分析的小窍门** - 一个 for 循环的时间复杂度等于循环次数乘以循环体代码的复杂度 - if-else 结构的复杂度取决于 if 的条件判断复杂度和两个分支部分的复杂度,总体复杂度取三者中最大 - 若两段算法嵌套,则嵌套后的总的复杂度为两个复杂度的乘积 - 若两端算法并列放置,则总的算法复杂度为两个中复杂度大的那个算法的复杂度 --- ## 算法整理 ### 二分法 ### 分而治之 --- ## 算法应用实例 ### 最大子列和问题