二级公共知识——基本数据结构与算法

本文介绍了算法的基本概念,包括特性、基本要素和复杂度分析。数据结构方面,涉及线性结构、栈的顺序存储及运算、链表的逻辑与物理结构。还探讨了树与二叉树的基础知识以及查找和排序技术。
摘要由CSDN通过智能技术生成

在这里插入图片描述

算法

考点一:·算法的基本概念

【一】算法的特性:拥有足够的情报(输入输出)、有穷性、确定性、可行性。
(1)输入输出:零个或多个输入,一个或多个输出。
(2)有穷性:算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成。
(3)确定性:算法的每一个步骤都具有明确的含义,不会出现二义性。
(4)可行性:算法的每一步都是可行的,能够通过执行有限次数完
【二】算法的基本要素
(1)据对象的运算和操作:计算机可以执行的基本操作是以指令的形式描述的。一个计算机系统能执行的所有指令的集合,成为该计算机系统的指令系统。一个计算机的基本运算和操作有如下四类:

		1:算术运算:加减乘除等运算
		
		2:逻辑运算:或、且、非等运算
		
		3:关系运算:大于、小于、等于、不等于等运算
		
		4:数据传输:输入、输出、赋值等运

(2)算法的控制结构
一个算法的功能结构不仅取决于所选用的操作,而且还与各操作之间的执行顺序有关。(描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等)。
考点二:算法复杂度的概念和意义**

(1)时间复杂度:评估执行程序所需的时间。可以估算出程序对处理器的使用程度。

(2)空间复杂度:评估执行程序所需的存储空间。可以估算出程序对计算机内存的使用程度。

算法时间复杂度:
同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同计算机上运行,效率均不同。这表明使用绝对的时间单位衡量算法效率是不合适的。撇开这些与计算机硬件、软件有关的因素。可以认为一个特定算法“运行工作量”的大小只依赖于问题的规模(通常用n表示),它是问题规模的函数。即算法的工作量=f(n)。

最坏情况下,冒泡排序、快速排序、简单插入排序、简单选择排序需要的比较次数为O(n2);希尔排序需要的比较次数为O(n1.5);堆排序需要的比较
次数为O(nlog2n);顺序查找需要的比较次数为O(n)次;二分法查找需要的比较次数为O(log2n)。

(1)<O(logn)<O(n1/2)<O(n)<O(nlogn)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)

算法的空间复杂度:
算法的空间

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白州小李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值