算法和数据结构概述

本文探讨了算法的基础概念、特性及衡量标准,涵盖了时间复杂度和空间复杂度,并深入解析了数据结构,如线性结构、树和图。重点介绍了算法在运算、查找、排序、决策优化及面试中的作用,展示了它们在信息技术领域的广泛应用。
摘要由CSDN通过智能技术生成

算法概述

什么是算法?
算法,对应的英文单词是algorithm,这是一个很古老的概念,最早来自数学领域。在数学领域里,算法是用于解决某一类问题的公式和思想。
算法的定义
解决问题的思路,是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。
算法的特性

  • 输入:可以有0到多个数据
  • 输出:每一个算法最少要有一个输出
  • 有穷性:再有限的时间内执行出结果
  • 确定性:对结果的确定性,一个输入对应一个输出
  • 可行性:算法可以解决实际问题

算法的基本要求

  • 正确性:正确的解决问题
  • 可读性:编写的算法可以让其他人可以看懂
  • 健壮性:算法支撑的计算能力

算法有高效的,也有拙劣的,衡量算法好坏的重要标准有两个

  • 时间复杂度
  • 空间复杂度

算法的应用领域非常广泛,例如
1.运算
这个运算不仅仅是数学的运算那么简单,还需要考虑多种情况的发生,比如:求两个数的最大公约数,要做到效率的极致,的确需要认真思考一下,或者两个超级大的整数计算求和,按照正常情况计算,可能会导致变量溢出等等。。。
2.查找
当你使用浏览器查询某个关键信息时候,或者在数据库中执行一条SQL的时候,你有考虑过数据信息是怎么被查出来的吗?
3.排序
排序算法是实现诸多复杂程序的基石,比如6.18购买商品的时候,我们希望商品价格按照从低到高排序
4.最优决策
有些算法可以帮助我们找到最优决策,比如,汉诺塔,找出最快移动的步骤
5.面试
面试过程中衡量一个程序员基础,和程序员的逻辑思维能力

数据结构

什么是数据结构?
数据结构是指相互之间存在这一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成,其使用目的是为了高效的访问和修改数据
数据结构都有哪些组成方式呢?
1.线性结构
线性结构是最简单的数据结构,包括数组(顺序性结构)、链表(链式结构)以及由他们衍生出来的栈和队列,哈希表
2.树
树是相对复杂的数据结构,其中比较有代表性的是二叉树,由他衍生出了二叉堆之类的数据结构
3.图
图是为复杂的数据结构,因为图中会呈现出多对多的关联关系

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值