数据结构与算法概述及算法分析

数据结构与算法概述

1.      数据结构的原则

l  一种数据结构就是一类数据的表示及其相关的操作

l  一个算法如果能够在所要求的资源限制内将问题解决好,则称这个算法是有效的。

l  一个资源限制是:可用来存储数据的全部空间——可以分为内存空间限制和磁盘(外存)空间限制——和允许执行每一个子任务所需要的时间。

2.      抽象数据类型和数据结构

l  类型是一组值的集合。

l  数据项(Data Items)是一条信息或者其值属于某个类型的一条记录,数据项也可以说成是数据类型的成员。数据项也可以说成是数据结构的成员。

l  数据类型是指一个类型和定义在这个类型上的一组操作。

l  抽象数据类型(ADT)是指数据结构作为一种软件构成的一种实现。

l  数据结构是ADT的实现。

l  数据项有逻辑形式(Logical Form)和物理形式(Physical Form)两个方面。利用ADT给出的数据项定义是它的逻辑形式,数据结构中对数据项的实现是它的物理形式。

 

3.      问题、算法和程序

l  问题:从数学角度来看,可以把问题看作函数。函数(function)是输入(即定义域,domain)和输出(即值域,range)之间的一种映射关系。

l  算法:指解决问题的一种方法或者一个过程。

性质:

(1)      正确性:包括有效性(soundness)和完备性(completeness)。它必须完成所需要的功能,把每一次输入转化为正确的输出。

(2)      具体步骤:一个算法应该由一系列具体步骤组成。

(3)      确定性:下一步应执行的步骤必须明确。

(4)      有限性:一个算法必须由有限步组成。

(5)      可终止行:算法必须可以终止,即不能进入死循环。   

l  程序:一个计算机程序被认为是使用某种程序设计语言对一个算法的具体实现。

l  总结:问题是一个函数,或者是从输入到输出的一个映射。算法是一个能够解决问题的、有具体步骤的方法。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用,这篇博客是关于一位学生利用整个暑假的时间来学习《数据结构与算法》课程并且持续更新的。而引用是一份关于Java数据结构与算法的学习笔记,涵盖了数据结构与算法概述、分类以及算法分析的内容。引用给出了数据结构的官方解释和大白话解释,以及数据结构的分类和物理结构的介绍。 所以,关于数据结构与算法的笔记,你可以参考这些资源来了解数据结构的概念、分类和物理结构,以及算法分析和时间复杂度等内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [数据结构与算法——学习笔记汇总](https://blog.csdn.net/qq_42025798/article/details/118864568)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Java数据结构与算法1-概述学习笔记](https://blog.csdn.net/qq_45498432/article/details/124067892)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值