1
数组

猪肉王子-17 @ 2020/03/29

2
链表

猪肉王子-17 @ 2020/03/29

3
分治策略 - 典型实例 - 选择问题

选择问题最常见的问题有: "1.1选最大" "1.2同时选最大和最小的算法" "1.3找第二大" "2选第k小(分治策略)" 1.1选最大 选择算法 统一描述:设L是n个算法的集合,从L中选出第k小的元素,11.2同时选最大和最小的算法 设计思想:先选最大,然后把最大的从L中删除,接着选最小。 == ...

HIIM @ 2020/03/29

4
牛客练习赛60 A—F题解(缺E题)

本蒟蒻这次只过了三题 赛后学习了一下出题人巨佬的标码(码风比我好多了 贴的代码有些是仿出题人)现在将自己的理解写下来与大家分享 A这个题一分析就是每个数字都会与所有数字&一下 (a&a=a)&字操作是二进制同位都为一才为一 这时解法就变成统计每个二进制位上1的次数 1 2 3 4 5 6 7 8 9 ...

yurenwuyu @ 2020/03/29

5
经典数据结构实现与分析:顺序表,单链表,

本博客在在这里重新总结了一下,当前常用的经典数据结构;这里只针对链表,顺序表,简单树和图进行总结;具体实现请参考:https://github.com/yaowenxu/codes/tree/master/数据结构; 本文章,主要讨论数据结构的性质;以及对这些数据结构的性质;主要是用来知识整理与复习 ...

xuyaowen @ 2020/03/28

6
找出"吸血鬼数"(Java,冒泡排序)

吸血鬼数字是指位数为偶数的数字,可以由一 对数字相乘而得到,而这对数字各包含乘积的一半 位数的数字,其中从最初的数字中选取的数字可以任意排序。以两个0结尾的数字是不允许的,例如,下列数字都是 “吸血鬼”数字:1260=21 * 601827=21 * 872187= 27 * 81 那么,开始 由于 ...

心拍数#0822 @ 2020/03/27

7
搜索算法实现合集-经典搜索算法实现与分析:顺序搜索,

本博客整理了当前经典的搜索算法的实现,并进行了简单的分析;博客中所有的代码实现位于:https://github.com/yaowenxu/codes/tree/master/搜索算法 ; 如果代码对您有帮助,希望能点击star~基于推荐和鼓励!感谢~ 保持更新,转载请注明出处;更多内容请关注cnb ...

xuyaowen @ 2020/03/27

8
分治策略 - 典型实例 - 快速排序算法

快速排序算法 基本思想:被排序数组为A,用数组首元素作为标准将A分成前后两部分,比首元素小的元素构成数组的前部分,比首元素大的部分构成数组的后部分。这两部分构成两个新的子问题,算法接着对这两个数组进行递归。 Quicksort(A,p,r) //p,r分别为数组A的首元素和尾元素的下标 输入:数组A ...

HIIM @ 2020/03/27

9
SPFA(还是稍微写写吧,虽然没什么用)

为什么SPFA废了呢,因为它的时间复杂度不稳定,就是说别人可以完全出一个图来卡死你,其实SPFA就是Bellman-Ford算法的队列优化,在某些情况下跑的比它快。 #include<bits/stdc++.h> using namespace std; int n,m,p,f[1000][1000 ...

RW_wbd @ 2020/03/25

10
最小生成树(Prim和Kruscal)

求最小生成树最基本的两种算法,当然,还有其他算法。 最小生成树 概念 一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。 概述 在一给定的无向图G = (V, E) 中,(u, v) 代表连接顶点 u 与顶点 v 的边(即),而 w( ...

RW_wbd @ 2020/03/25

11
动态规划刷题

分金子(360公司2017春招真题) 题目链接 https://exercise.acmcoder.com/online/online_judge_ques?ques_id=3863&konwledgeId=42 可以去链接里看一看,不再赘述题目了。 解题思路 假设几个变量,f(i,j)是从[i,j ...

Makerdd @ 2020/03/25

12
反素数解析

反素数的定义: 对于任何正整数,其约数个数记为,例如,如果某个正整数满足:对任意的正整 数,都有,那么称为反素数。 或者: 一个[1,n]的连续区间, 约数相同的最小数x,x是反素数。例如:f(6) = 4,f(8) = 4,6是约数为4切最小的数,所以6是约数。 反素数性质: 反素数肯定是从2开始 ...

SummerMingg @ 2020/03/25

13
Who Gets the Most Candies? POJ - 2886(线段树单点更新+区间查询+反素数)

预备知识:反素数解析 思路:有了反素数的解法之后就是线段树的事了。 我们可以用线段树来维护哪些人被淘汰,哪些人没被淘汰,被淘汰的人的位置,没被淘汰的人的位置。 我们可以把所有人表示为一个[1,n]的区间,没被淘汰的人权值为1,那么通过线段树维护区间和,就可以知道没被淘汰人的分布情况,tree[roo ...

SummerMingg @ 2020/03/25

14
字典

字典在很多高级语言里都有,比如 1. js的对象结构可以当字典来用 2. python的字典 3. go的map 4. ...................... 但是你们知道字典是怎么实现的吗?本文来实现一个简单的字典。 python的字典 先来看python的字典是怎样的 c语言实现 参考了 ...

Biningo @ 2020/03/24

15
最短路径(随便写写)(Floyd,Bellman-Ford,Dijkstra)

3种常用的最短路径算法 #include<bits/stdc++.h> using namespace std; int n,m,p; int dis[1000],f[1000][1000],k,ans,minn=1e9,v,b,w; bool t[1000]; void input1() { ci ...

RW_wbd @ 2020/03/24

16
基础算法策略总结-分而治之,动态规划,贪心策略; 回溯法和分支定界;

最近在刷算法题目,突然重新思考一下大二时学习的算法分析与设计课程,发现当时没有学习明白,只是记住了几个特定的几个题型;现在重新回归的时候,上升到了方法学上了;感觉到了温故知新的感觉;以下总结自童咏昕老师的算法设计与分析课程和韩军老师的算法分析与设计课程;当我们遇到一个问题的时候,我们先想出一个简单的 ...

xuyaowen @ 2020/03/23

17
数据结构和算法:Python实现二分查找(Binary_search)

在一个列表当中我们可以进行线性查找也可以进行二分查找,即通过不同的方法找到我们想要的数字,线性查找即按照数字从列表里一个一个从左向右查找,找到之后程序停下。而二分查找的效率往往会比线性查找更高。 一.二分查找的步骤 二分查找的步骤首先是将列表进行升序或者降序排列,否则无法进行数字的比较,也就无法进行 ...

Geeksongs @ 2020/03/23

18
Buy Tickets POJ - 2828(线段树,单点更新,区间查询)

题目链接:https://i-beta.cnblogs.com/posts/edit 思路:对输入数据反向思考,那么输入的位置x代表他之前已经有x个人存在, 但是后面的人会插队,那么已经有x个人存在可以表示为,前面应该还有几个空位。 因为我们是反向遍历位置关系,那么我们只需要维护数组前面有x个空位就 ...

SummerMingg @ 2020/03/23

19
腾讯t4架构推荐:一份程序员必备的结构算法算法之道!

引言 "语言只是工具,算法才是程序的灵魂。"这句话相信每一个程序员都听过无数次。然而在实际的工作中,一个产品从开发到上线,似乎哪一步都用不到数据结构与算法。于是很多程序员都有这样一种错觉:就算我不懂算法,只要语言写得溜、开发框架用得熟练、封装好的各种接口、库调用得熟练,照样能实现老板“天马行空”(傻 ...

Myname。 @ 2020/03/23

20
算法与数据结构(3):基本数据结构——链表,栈,队列,有根树

原本今天是想要介绍堆排序的。虽然堆排序需要用到树,但基本上也就只需要用一用树的概念,而且还只需要完全二叉树,实际的实现也是用数组的,所以原本想先把主要的排序算法讲完,只简单的说一下树的概念。但在写的过程中才发现,虽然是只用了一下树的概念,但要是树的概念没讲明白的话,其实不太好理解。所以决定先介绍一下 ...

Albert_Shen @ 2020/03/23