15、数据结构与算法 - 实战:常用查找算法介绍,线性排序、二分查找(折半查找)算法、差值查找算法、斐波那契(黄金分割法)查找算法
前言 一、常用查找算法 在java中,我们常用的查找有四种: 1、 顺序(线性)查找; 2、 二分查找/折半查找; 3、 插值查找; 4、 斐波那契查找【比较难】; 二、顺序(线性)查找算法 2.1 问题描述 有一个数列: {1,8, 10...
前言 一、常用查找算法 在java中,我们常用的查找有四种: 1、 顺序(线性)查找; 2、 二分查找/折半查找; 3、 插值查找; 4、 斐波那契查找【比较难】; 二、顺序(线性)查找算法 2.1 问题描述 有一个数列: {1,8, 10...
前言 一、排序算法的比较图 二、相关术语解释 1、 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 2、 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 3、 内排序:所有排序操作都在内存中完成; ...
公众号:“皇子谈技术”主理人
前言 基数排序,属于桶排序的一种,是一种典型的空间换取时间的 稳定式排序。 一、基数排序(桶排序)介绍 1、 基数排序(radixsort)属于**“分配式排序”(distributionsort),又称“桶子法”(bucketsort)或...
前言 上节的三个排序算法:冒泡、选择、插入,较为简单,好理解,使用比较、交换的思想。但也都是基础。 这节的三个排序算法:希尔、快速【看注释比较容易理解思路】、归并,难理解,使用递归的思想。 这三个是难点,但也是重点。加油 一、希尔排序 1....
前言 一、冒泡排序 1.1 基本介绍 冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始), 依次比较相邻元素的值,若发现逆序则交换 ,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐...
前言 前面的数据结构到了现在可以到一段落了。 从第十章开始就要学习 排序算法了。 排序算法主要学习(按学习顺序来排列、也是难易程度):冒泡排序、简单选择排序、直接插入排序、希尔排序、快速排序、归并排序、基数排序、堆排序等等。 这一节主要是介...
前言 一、前缀(波兰)表达式学习 1.1 前缀表达式介绍 1、 前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前; 2、 举例说明:(3+4)×5-6对应的前缀表达式就是-×+3456; 1.2 前缀表达式的计算机求值 求值规则: 从...
前言 学习栈 了解栈的特点。先进后出,后进先出。 使用数组模拟栈、链表模拟栈。(相比于双链表和单向环形链表来说是相对简单的) 栈的应用实例:用栈+中缀表达式 实现综合计算器。 2020.4.21、22 日学习 相对于前面的双链表和单向环形链...
前言 先说一下递归算法的重要性,后面的快速排序、归并排序都会用到递归。可见其重要性 这里学的时候,自我感觉有点难,逻辑有点混乱,可以先学习一遍,然后到了后面用到的时候,再来学习一遍。 一、递归 2.1 递归简单介绍 简单的说: 递归就是方法...
前言 一、约瑟夫介绍 Josepfu(约瑟夫、约瑟夫环)问题为:设编号为1,2,… n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类...