随笔分类 -  算法

摘要:一、什么是栈?1.后进者先出,先进者后出,这就是典型的“栈”结构。2.从栈的操作特性来看,是一种“操作受限”的线性表,只允许在端插入和删除数据。二、为什么需要栈?1.栈是一种操作受限的数据结构,其操作特性用数组和链表均可实现。2.但,任何数据结构都是对特定应用场景的抽象,数组和链表虽然使用起来更加灵 阅读全文
posted @ 2018-10-10 23:24 微凉微 阅读(269) 评论(0) 推荐(0)
摘要:一、什么是复杂度分析?1、数据结构和算法让计算机更快速度、更省空间的解决问题,因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能,分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度;复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系。二、为什么要进行复杂度分析? 阅读全文
posted @ 2018-09-27 00:46 微凉微 阅读(304) 评论(0) 推荐(0)
摘要:1、普通查询方法 遍历数组,查找的值和数组中的值相等,返回查找值在数组中的下表位置,否则返回-1(角标从0开始计数)。 2、二分法查询 (1)数组数据必须从小到大有序排序 (2)当所要查询的值大于中间值,说明要查找的值可能存在于arr[mid+1]到arr[end]之间,所以start = mid+ 阅读全文
posted @ 2018-09-25 22:26 微凉微 阅读(4656) 评论(0) 推荐(0)
摘要:1、选择排序 从第一个数组角标开始数据比较,假如arr[0]>arr[1],则两个数据位置互换;接下来arr[0]和arr[2]比较,数据小的值放在arr[0]位置上,第一次选择排序结束,数组最小值为arr[0];接下来从arr[1]开始数据比较,使用第一次选择排序同样的方法找出arr[1]到arr 阅读全文
posted @ 2018-09-24 22:39 微凉微 阅读(592) 评论(0) 推荐(0)