标签:算法
目录前言栈概念栈的设计编码实现小结队列概念队列的设计编码实现双端队列概念设计编码循环队列循环队列循环双端队列声明 前言 栈 概念 什么是栈? **栈 **:是一种特殊的线性表,只能在一端进行操作 入栈:往栈中添加元素的操作,一般叫做push 出栈:从栈中移除元素的操作,一般叫做pop,出栈
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列 {1,2,4,7,3,5,6,8} 和中序遍历序列 {4,7,2,1,5,3,8,6},则重建二叉树并返回 做这一题需要对二叉树有一定了解,不了解的同学
目录前言概念链表的设计完整代码List接口抽象父类设计链表—LinkedList虚拟头结点概念结构设计方法变动双向链表概念双向链表设计方法变动循环链表单向循环链表双向循环链表小结单向链表 VS 双向链表动态数组 VS 链表声明 前言 在前面的实现的动手写个Java动态数组里,虽然对于用户而
JZ1 二维数组中的查找(查找, 数组) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解1 对每一个一维数组进行二分查找,设二维数
JZ21 栈的压入、弹出序列(栈) 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能
洛谷P1712 [NOI2016]区间 noi2016第一题(大概是签到题吧,可我还是不会) 链接在这里 题面可以看链接; 先看题意 这么大的l,r,先来个离散化 很容易,我们可以想到一个结论 假设一个点被覆盖次数大于m 我们将覆盖这个点的区间升序排序; 则所选区间一定是排序后序列中的一个
  本篇介绍有关队列的知识。队列也是一种特殊的线性表,只允许在表的表的一端进行插入,而在表的另一端进行删除。插入元素称为入队或进队;删除元素称为出队或离队。操作的特性是先进先出。   队列的常见操作和栈类似,有初始化队列,队列判空,入队,出队,读队头元素。下面介绍队列的顺序存储和链式存储。
项目名称:金融反欺诈(信用卡盗刷) 项目概述:本项目通过利用信用卡的历史交易数据进行机器学习,构建信用卡反欺诈预测模型,提前发现客户信用卡被盗刷的事件。 项目背景:数据包含了由欧洲持卡人于2013年9月使用信用卡进行交易的数据。此数据集显示两天内发生的交易,其中284807笔交易中有492
目录前言回顾树形结构树的概念有序树,无序树,森林二叉树(Binary Tree)真二叉树(Proper Binary Tree)满二叉树(Full Binary Tree)完全二叉树(Complete Binary Tree)小结声明 前言 回顾 在前面的数据结构学习中,无论是以顺序结构存
  本篇介绍队列的链式存储,因为队列是在两头插入和删除的逻辑结构,因此要用具体的物理存储结构的时候,需要用到两个指针。一个是头指针,一个是尾指针。头指针指向队头指针,尾指针指向队尾指针,即单链表的最后一个结点。下面介绍有关链队列的算法实现。 一:队列的链式存储类型 typedef stru
1 /// <summary> /// 与传统比较的排序算法不一样的排序的手段,使用下标来确定正确位置的排序方法 /// </summary> /// <param name="array"></param> /// <re
2020-09-15 11:36:16 玩过扑克牌的人一般都有过从小到大将牌排好的习惯,当你抽到一张牌小于你手上某个位置上的拍的时候,你都会将新拿到的牌插入到适合的位置。 1 using System; 2 using System.Collections.Generic; 3 u
目录前言复杂度分析编码常规变种局限性声明 前言 概念:二分查找(Binary Search)算法,一种针对有序数据集合的查找算法,也叫折半查找算法。 思想:二分查找针对的是一个有序的数据集合( 升序或降序 ),查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之
用两个栈来实现一个队列,完成队列的 Push 和 Pop 操作。 队列中的元素为 int 类型。 思路 队列是先进先出的,而栈是后进先出的,如何用两个栈来实现队列的效果呢? 我们假设只用 stack1 来存放元素,这样的话,直接 stack1.pop 是行不通的。每次要弹出元素时,将
前言 大家好,本篇文章是《齐姐说数据结构》系列的第三篇,更多数据结构和算法的文章已经整理在我的 Github 上了:https://github.com/xiaoqi6666/NYCSDE HashMap 是无论在工作还是面试中都非常常见常考的数据结构。 比如 Leetcode 第一题 T
  全解容易(YP)问题——定义:对于非判定性原题,能在多项式时间内给出全部正确解。 例解容易(SP)问题——定义:对于非判定性原题,能在多项式时间内给出至少1个正确解。 判解容易(JP)问题——定义:对于非判定性原题的一个待验解,能在多项式时间内判定正误。 验判(对判定的复验)容易(CP
大家好,这里是《齐姐聊算法》系列之 Top K 问题。 Top K 问题是面试中非常常考的算法题。 8Leetcode 上这两题大同小异,这里以第一题为例。 题意: 给一组词,统计出现频率最高的 k 个。 比如说 “I love leetcode, I love coding” 中频率最