自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (2)
  • 收藏
  • 关注

原创 数据结构与算法分析(七)--- 排序算法分析 + 排序优化

一、如何分析一个排序算法1.1 排序算法的执行效率对于排序算法执行效率的分析,我们一般会从这几个方面来衡量: - 最好、最坏、平均情况时间复杂度 - 时间复杂度的系数、常数 、低阶 - 比较、交换或移动的次数1.2 排序算法的内存消耗1.3 排序算法的稳定性

2019-12-26 00:45:12 1298

原创 数据结构与算法分析(四)--- 时间与空间复杂度

一、复杂度分析数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到一把衡量标尺:时间、空间复杂度分析。大 O 时间复杂度实际上并不具体表示代码真正的执行时间,而是表示代码执行时间随数据规模增长的变化趋势,所以,也叫作渐进时间复杂度(asymptotic time complexity),简称时间复杂度。

2019-12-23 23:56:19 814

原创 数据结构与算法分析(三)--- 队列、栈的实现与应用

一、队列的实现想要理解队列很简单,因为它的性质和我们日常生活中的排队很类似,线性、先到先处理、后到排末尾。很显然,队列也是一种线性表,但比线性表的要求更严格,线性表可以对中间的元素进行访问和操作,队列则只能从首尾两端访问或操作元素,队列是一种操作受限的线性表,队列的所有特性都可以由线性表实现。要理解栈也不难,弹匣只有一个子弹出入口,弹匣中有弹簧和卡子,我们最先装填进弹匣的子弹(可称为”入栈“或”压栈“)最后从弹匣中弹出(可称为”出栈“或”弹栈“),可谓是”先到进栈底,后到压上头“。

2019-12-23 22:54:32 1113

原创 数据结构与算法分析(二)--- STL简介 + 线性表容器(C++11)

STL是由一些可适应不同需求的集合类和一些能够在这些数据集合上运作的算法构成,STL内的所有组件都由模板构成,所以其元素可以是任意类型。STL组件包括以下部分: - 容器(container):用来管理某类对象的集合,容器可以是array、list、set、map等; - 迭代器(iterator):用来在一个对象集合内遍历元素,这个对象集合或许是个容器,或许是容器的一部分; - 算法(algorithm):用来处理集合内的元素,它们可以出于不同的目的而增、删、改、查、排序、使用元素。

2019-12-19 19:18:43 2109

原创 数据结构与算法分析(一)--- 数据结构的本质 + 线性表的实现

一、什么是数据结构将现实世界的数据组织成为一些具有特定关系的逻辑结构,再把这些逻辑结构的数据映射到计算机的物理存储结构中,这便是计算机科学中的数据结构要解决的问题。数据按照一定的关系结构映射到计算机内存中后,需要在内存中处理这些数据结构,如何在内存中操作这些数据结构就是算法要解决的问题了。对同一个现实问题,使用不同的数据结构和算法进行存储和计算,表现出来的效率是不一样的,如何评价这些数据组织与存储结构及其对应的操作方法,这便需要引入时间和空间复杂度这把标尺了。

2019-12-18 23:39:47 1410

原创 数据结构与算法分析(六)--- 分治与减治 + 分治排序与二分查找

一、分治算法分治(divide and conquer)的全称为“分而治之”,分治算法主要由两部分构成: - 分(divide):递归求解所有从原问题分解出来的相似子问题; - 治(conquer):从子问题的解构建原问题的解。分治算法将原问题划分成若干个规模较小而结构与原问题相似的子问题,然后递归求解所有子问题,最后合并所有子问题的解,即可得到原问题的解。在函数正文中至少含有两个递归调用的例程叫做分治算法,而函数正文中只含一个递归调用的例程不是分治算法(可以称为减治算法)。

2019-12-13 18:53:19 2753

原创 数据结构与算法分析(五)--- 递推与递归 + 减治排序

一、递归与尾递归人有人的思维,计算机有计算机的思维,它们很不相同。如果你要问其中最大的不同是什么,那就是一种被称为递归(recursive)的逆向思维。相比之下,人的正向思维被称为递推(iterative)。要了解什么是递归,我们先了解什么是递推。递归就在于使用计算机自顶向下、从整体到局部的思维方式分析问题,找到把原问题自顶向下层层展开(或分解)的递推公式,通过不断重复使用递推公式,把原问题展开(或分解)到有已知解的递归边界处,再从递归边界的已知解,自底向上递推(或回归)求得原问题的解。

2019-12-09 22:37:18 1849

ATK-ENC28J60以太网模块资料.rar

ENC28J60网卡包括PHY与MAC模块,具有TX/RX缓冲器,使用SPI接口与MCU通信,支持中断引脚触发,可通过NRF Wireless接口插到STM32L475 Pandora等型号的开发板上。上层可以运行TCP/IP协议栈,比如LwIP协议栈,为我们的开发板提供网络服务。

2020-03-25

ATK-ESP8266 WIFI模块资料.rar

ESP8266 是一个完整且自成体系的 Wi-Fi 网络解决方案,能够独立运行,也可以作为从机搭载于其它主机 MCU 运行,支持标准的IEEE802.11 b/g/n协议,完整的TCP/IP协议栈,该模块一般作为从机通过UART接口(默认波特率115200)连接其它主机MCU,通过AT命令集与主机MCU交互,为主机MCU提供WiFi扩展服务。

2020-03-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除