数据结构与算法
北以晨光丶
加油!
展开
-
数据结构学习-递归-八皇后问题
欢迎浏览我的博客:https://Mr00wang.github.io 学习笔记 递归-八皇后问题 递归-八皇后问题????????(回溯算法) 一、问题介绍 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有7...原创 2020-03-18 17:58:40 · 272 阅读 · 0 评论 -
Java算法与数据结构之递归
欢迎浏览我的博客:https://Mr00wang.github.io 学习笔记 Java算法与数据结构之递归 一、递归的概论 所谓递归是指,若在一个函数、过程或者数据结构定义的内部又直接(或间接)出现定义本身的应用,则称它们是递归的,或者是递归定义的。简单来说:递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。 二、递归的调用机制 递归...原创 2020-03-17 23:54:28 · 118 阅读 · 0 评论 -
Java算法与数据结构之前缀、中缀、后缀表达式
欢迎浏览我的博客:https://Mr00wang.github.io 学习笔记:前缀、中缀、后缀表达式 前缀、中缀、后缀表达式 一、前缀表达式 前缀表达式是一种没有括号的算术表达式,与中缀表达式不同的是,其将运算符写在前面,操作数写在后面。也被叫做波兰表达式,比如(499 + 1)* 2 + 314 的前缀表达式为 + * + 499 1 2 314 前缀表达式的计算机求值 求值方法: 从...原创 2020-03-01 02:21:39 · 463 阅读 · 0 评论 -
Java算法与数据结构之栈实现中缀表达式
欢迎浏览我的博客:https://Mr00wang.github.io 学习笔记 栈实现中缀表达式 栈实现中缀表达式 ????目的:实现计算一个计算式如(5 + 10 * 2 + 20 / 2)????️♂️????️♂️ ????思路: 通过一个 index 值(索引),来遍历我们的表达式 如果我们发现是一个数字, 就直接入数栈???????? 如果发现扫描到是一个符号, 就分如下情况 (1) 如果发现当前的符号栈为空...原创 2020-02-29 21:14:09 · 338 阅读 · 1 评论 -
Java算法与数据结构之栈
欢迎浏览我的博客:https://Mr00wang.github.io 学习笔记 Java算法与数据结构之栈 栈(Stack) 队列是先进先出的数据结构,即FIFO原则,而栈是一种后进先出的数据结构 1、栈的特性 “先入后出”(FILO)原则 栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。只允许进行插入和删除操作,允许插入和删除的一端,为变化的一端,称为...原创 2020-02-14 22:54:39 · 141 阅读 · 0 评论 -
Java算法与数据结构之链表
欢迎浏览我的博客:https://Mr00wang.github.io 学习笔记 Java算法与数据结构之链表 链表 一、链表介绍 链表是以节点的方式来存储,是链式存储 每个节点包含 data 域, next 域:指向下一个节点. 如图:发现链表的各个节点不一定是连续存储. 链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定 单链表 链表通过指针将一组零散的内存块串联在一起,内存块...原创 2020-02-12 22:24:54 · 144 阅读 · 0 评论 -
Java算法与数据结构之队列
欢迎查看我的博客:https://Mr00wang.github.io 学习笔记 算法与数据结构之队列 队列 队列是一种特殊的线性结构,它只允许在队列的首部(head/front)进行删除操作,这称为“出队”,而在队列的尾部(tail/rear)进行插入操作,这称为“入队”。当队列中没有元素时(即head == tail),称为空队列。比如买票,每个排队买票的窗口就是一个队列。在这个队列当中,新...原创 2020-02-05 20:24:38 · 134 阅读 · 0 评论 -
Java算法与数据结构之稀疏数组
欢迎查看我的博客:https://Mr00wang.github.io 学习笔记 算法与数据结构之稀疏数组 稀疏数组 一、介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组,也可以理解为压缩数组。 稀疏数组的处理方法: 记录数组一共有几行几列,有多少个不同的值。 把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。 二、实例 使...原创 2020-02-02 17:42:39 · 637 阅读 · 0 评论 -
Java算法与数据结构之排序(一)
欢迎查看我的博客:https://Mr00wang.github.io 此次基于《啊哈,算法》的学习笔记 算法与数据结构之排序(一) 最常用的排序算法: 冒泡排序、插入排序、选择排序、希尔排序、归并排序、快速排序、基数排序、桶排序。 时间复杂度 排序算法 时间复杂度 冒泡、插入、选择 O(n^2) 希尔 O(n1.5) 快排、归并 O(nlogn) 桶、基数 O(n) ...原创 2020-01-23 18:32:21 · 423 阅读 · 0 评论