常见的数据结构及算法2021-4-7

/**************************************************************************

学习思路:1.多画图、多思考。 2.多写代码。
3.多刷题。参考 LeetCode、牛客网、剑指offer 。

***************************************************************************/
///算法是指对解题方案的准确而完整的描述,简单的说算法就是解决问题的操作步骤。程序可以描述算法。
/// 算法的基本特征:可行性(步骤可以实现),确定性(步骤明确),有穷性(有限时间内完成)。拥有足够的情报。
///
/// 算法效率性能比较:时间效率:算法时间复杂度(计算工作量),空间效率:空间复杂度(存储空间),硬件内存如今足够用。

//算法的时间复杂度:执行算法所需要计算的工作量(大概的循环的次数),不等于算法程序执行的具体时间。和硬件有关。
///
/// 算法的时间复杂度的表示方法:大0的渐进表示法。O(n),算次数最高的项,忽略系数项,用1代替加法的常数项。
///
/// 算法的空间复杂度:执行这个算法所需要的存储空间。在嵌入式开发中比较在乎存储空间的大小。
/// 算法的空间复杂度不计算空间,计算大概定义的变量个数。如为常数个变量,空间复杂度为:O(1)
///
/// 算法执行所需要的存储空间包括三部分:输入数据所占的存储空间、程序本身所占的存储空间、算法执行过程中所需要的额外空间。
/// 为了降低算法的空间复杂度,主要应减少输入数据所占的存储空间和额外空间。采用压缩存储的技术来实现。

/// 数据结构是指:相互有关联的数据元素的集合。数据就是处理数据化元素的集合,结构就是关系。
// /数据结构就是:集合中各个元素之间存在的某种关系。对计算机的数据有效的使用的各种数据组织形式。
// 不同的数据结构各自对应不同的应用场景,旨在降低各种算的的时间与空间复杂度,达到程序最佳的执行效率。
// 数据结构的基本运算:修改、插入、删除、查找、排序。
///* 常见的数据结构可分为「线性数据结构」与「非线性数据结构」。
/// //线性结构:有限个性质相同的数据元素组成的序列。
/// 具体为:线性数据结构(liner date structure)->「数组](array)、「链表](linked list)、「栈」(stack)、「队列」(queue).
/// 非线性数据结构(non-linear data structrre) ->「树」(tree)、「图」(grap) [列表」(hashing)、「堆」(heap)。

//********************************************************************************************************************
/*
数组[arry]------连续存储
数组是将相同类型的元素存储于连续内存空间的数据结构,其长度不可变。
构建此数组需要在初始化时给定长度,并对数组每个索引元素赋值,
代码如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值