0

指针实现 Treap

前置知识:二叉排序树,堆。 应用场景:平衡树。 〇、导入 1. 二叉排序树 我们都知道,二叉排序树就是满足“$lchsize; if(ch[1]) size+=ch[1] size; } 现在 实现如下: 下面实现操作的函数均为 的成员函数。 附:调试函数,输出当前树的详细信息: 2 1 旋转 旋转 ...

Createsj 发布于 2020-03-17 19:31 评论(0)阅读(14)
0

数据结构系统学习(1)数据类型和数据结构的概念

[TOC] 在现代计算机系统中,计算机更多地用于控制,管理及数据处理等非数值计算的处理工作,而不像之前只需要处理数值型数据。这个时候,数据的类型变为了由字符,表格和图像格式等组合而成的具有一定结构的数据。 而用程序处理如何处理这些数据已经变得越来越重要了,由此产生了一个叫做数据结构的学科。下面就一起 ...

一只帅气的IT小昂 发布于 2020-03-17 17:57 评论(0)阅读(19)
1

【算法】莫队算法粗略讲解

**莫队是由莫涛大佬研究出的一种非常优秀的离线算法**,主要用来解决区间问题,甚至可以在非强制在线的情况下离线处理包括修改的操作。本文主要讲解普通莫队算法。 先来看一道例子,给出下面的一个序列,给出一个区间,求区间和: ...

ctjcalc 发布于 2020-03-16 22:52 评论(1)阅读(32)
0

1. 两数之和

题目: 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值 的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用 这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nu ...

raykindle 发布于 2020-03-16 22:49 评论(0)阅读(30)
0

NTP网络时钟系统技术参数与详细介绍

NTP网络时钟系统技术参数与详细介绍是由高精度GPS(北斗)网络母钟、高品质,高稳定性系统网络子钟、智能化控制设备及其它配套设备组成的计时和时钟显示系统,其作用是为保证校园或医院网络提供标准统一的时间服务. ...

GPS北斗卫星同步时钟 发布于 2020-03-16 18:10 评论(0)阅读(25)
0

数据结构(一)—链表

[TOC] 一、背景 作为机械狗转行,数据结构当然是不可缺少的,疫情假期里闲来在家无事,刚好接下给小孩教数据结构的活,所以自学了简单的数据结构用法,算是数据结构的入门吧。做个笔记记下来,其实平常喜欢用思维导图进行记录,这算复习一遍,所以再用MarkDown进行记录,顺便发个博。 话不多说,今天先来记 ...

煦阳 发布于 2020-03-15 18:02 评论(0)阅读(79)
0

判断括号是否有效(c++描述)

开门见山,假设我们有一大串的由'{', '}', '[', ']', '(', ')' 这些括号构成比如像这样的"{[}][()"符号串,我们肉眼当然能看出它是非法的,那么如何使用代码来判断是否合法呢? 其实我们可以借助栈来判断这些符号串是否非法 : 1.首先我们我需要建立符号的一对一映射,如下所示 ...

maoqifan 发布于 2020-03-15 16:10 评论(0)阅读(54)
0

搜索树【链式+数组】

数组 数组表示二叉树: root left:root 2+1 right:root 2+2 比如 0号节点的左孩子是1 右孩子是2 1号节点的左孩子是3 右孩子是4 2号节点的左孩子是5 右孩子是6 1、定义结构体 2、找树的最小值和最大值的节点位置 3、插入节点 4、判断节点是否存在 5、中序遍历 ...

Biningo 发布于 2020-03-15 10:42 评论(0)阅读(28)
0

数据结构与算法(Python版):时间复杂度和大O表示法

一.时间复杂度 首先我们来看一个问题·: 题目:如果a+b+c=1000,且a^2+b^2=c^2(a,b,c为自然数),如何求出a,b,c所有可能的组合? 看到这个题目我们的第一反应则是直接套用三个循环使用枚举法直接得到答案,程序如下: import time start_time = time. ...

Geeksongs 发布于 2020-03-15 09:58 评论(0)阅读(30)
0

排序算法

常用排序算法的理解及示例代码:冒泡排序、插入排序、选择排序、归并排序、快速排序、二叉树排序 ...

pgjett 发布于 2020-03-14 16:29 评论(0)阅读(26)
0

HDU1828 Picture

扫描线求周长 链接(HDU):Miku 链接(Vjudge):Miku HDU是多组数据!!!而且不写明白了!!! 我本以为既然多组数据,何不写上一共几组,既然不写,那必然是不存在了 但是它就是多组数据 这道题显然的做法是扫描两次,横着一次竖着一次,不过会很繁琐 事实上,一次就够了 完全可以从上向下 ...

Simex 发布于 2020-03-14 08:11 评论(5)阅读(32)
0

树状数组的基本操作

理解:二进制末位次方为该位置管辖的范围,无法管辖的范围就是该数减去该二进制末位次方,递推往上,直到得到[1,n]的管辖点,然后相加。某个位置修改,会导致管辖它的点也相应被修改,这关键就是二进制的进位来更新管辖它的点,2^0一定被2^1管辖,2^1一定被2^2管辖。因为二进制的独特性,把这些最关键也是 ...

SummerMingQAQ 发布于 2020-03-13 23:43 评论(0)阅读(15)
0

LeetCode:字符串转换整数 (atoi)

利用不同字符的 ASCII 编码判断种类,提取字符串中的数字,再判断数字是否超出范围 ...

pgjett 发布于 2020-03-13 20:20 评论(0)阅读(29)
1

五大常见算法策略之——回溯策略

回溯策略 欢迎大家访问我的个人搭建的博客 "Vfdxvffd's Blog" 回溯是五大常用算法策略之一,它的核心思想其实就是将解空间看作是一棵树的结构,从树根到其中一个叶子节点的路径就是一个可能的解,根据约束条件,即可得到满足要求的解。求解问题时,发现到某个节点而不满足求解的条件时,就“回溯”返回 ...

头发是我最后的倔强 发布于 2020-03-13 10:44 评论(0)阅读(225)
0

算法与时空复杂度

一、补充:递归相关知识 1.1 递归定义 • 程序调用自身的编程技巧称为递归( recursion)。 1.2 斐波那锲数列 0 1 1 2 3 5 8 13 21 34 ....... fi𝑏(𝑛) ::= 𝑓𝑖𝑏(𝑛 − 1) + 𝑓𝑖𝑏(𝑛 − 2), 𝑛 1 | 1 , ...

界内嘻哈 发布于 2020-03-13 08:52 评论(0)阅读(45)
0

数据结构导论之第二章(线性表)

插入和删除的结论:顺序存储结构表示的线性表,在做插入或删除操作时,平均需要移动大约一半的数据元素。当线性表的数据元素量较大,并且经常要对其做插入或删除操作时,这一点需要值得考虑。 ...

君子生非异也 发布于 2020-03-12 23:20 评论(0)阅读(86)
0

LeetCode:判断回文数

LeetCode:判断回文数 根据数的位数取出首尾进行比较,判断是否回文 No.9 回文数 题目: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数 示例 1: 示例 2: 示例 3: 解法: 1. 数学方法 取数的首尾进行比较 2. 双栈比较 栈的 equal ...

pgjett 发布于 2020-03-12 21:31 评论(0)阅读(32)
0

树的存储

树的存储有4种。 一、双亲表示法。 实现:定义顺序表存放树的节点,顺序表中的每个数据元素含两个域 1.数据域:存放节点信息。 2.双亲域:存放结点的双亲结点的位置。 二、孩子表示法。 实现:使用带头结点的单链表实现。 头节点:存放节点信息和第一个表结点的地址。 表结点:存放孩子节点的存储位置以及下一 ...

eason66 发布于 2020-03-12 19:47 评论(0)阅读(30)
0

简单实用算法— 冒泡排序

比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。最差时间复杂度 O(n²),最... ...

time-flies 发布于 2020-03-12 16:07 评论(0)阅读(16)
1

排序算法学习笔记(三)-- 快速排序

快速排序 Quick Sort 1. 算法过程 快速排序(Quick Sort)使用分治法策略。它的基本思想是:选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分;其中一部分的所有数据都比另外一部分的所有数据都要小。然后,再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行, ...

lucas- 发布于 2020-03-11 23:36 评论(0)阅读(32)