-
【数据结构】——平衡二叉树(插入)
所属栏目:[安全] 日期:2021-03-31 热度:126
? ? 平衡二叉树,是一种二叉排序树,其中每个结点的左子树和右子树的高度差至多等于1。它是一种高度平衡的二叉排序树。高度平衡?意思是说,要么它是一棵空树,要么它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。 ? ? 将二[详细]
-
【数据结构】之 线性表详解
所属栏目:[安全] 日期:2021-03-31 热度:65
线性表(Linear List) 基本概念 线性表是由n(n=0)个类型相同数据元素组成的有限序列 。 数据元素可由若干个数据对象组成,且一个线性表中的数据元素必须属于同一数据对象 。 线性表示n个类型相同数据元素的有限序列,对n0,除第一个元素无直接前驱,最后一[详细]
-
《数据结构》第一章:绪论
所属栏目:[安全] 日期:2021-03-31 热度:188
第一章:绪论 1.1 数据结构的基本概念 数据:是信息的载体,是描述客观事物属性的数、字符以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。 数据元素:是数据的基本单位,一个数据元素可由若干个数据项组成,数据项是构成数据元素的不可分割[详细]
-
Codeforces 999D Equalize the Remainders 【数据结构】【贪心】
所属栏目:[安全] 日期:2021-03-31 热度:64
考场的时候想到的n*m做法tle了,正解是O(n+m) 首先想到一个性质是不管a[i],a[j]相差多少,只要a[i],a[j]同余,那想让他们increase后%m得到另一个余数,那他们需要increse的次数是相等的。 所以我们想到把n个数按%m从0到m-1分成m类。这样就能贪心了,因为如[详细]
-
《数据结构》实验三: 栈和队列实验
所属栏目:[安全] 日期:2021-03-30 热度:187
《数据结构》实验三:??? 栈和队列实验 一..实验目的 ???? 巩固栈和队列数据结构,学会运用栈和队列。 1.回顾栈和队列的逻辑结构和受限操作特点,栈和队列的物理存储结构和常见操作。 2.学习运用栈和队列的知识来解决实际问题。 3.进一步巩固程序调试方法。[详细]
-
《数据结构》实验四: 字符串和多维数组 实验
所属栏目:[安全] 日期:2021-03-30 热度:167
《数据结构》实验四: ???? 字符串和多维数组?实验 一. . 实验目的 ????? 巩固字符串和多维数组相关知识,学会运用灵活应用。 1. 回顾字符串和多维数组的逻辑结构和存储操作特点,字符和数组的物理存储结构和常见操作。 2. 学习运用字符串和和数组的知识来[详细]
-
《数据结构》实验二: 线性表实验
所属栏目:[安全] 日期:2021-03-30 热度:164
《数据结构》实验二: ????? 线性表实验 一. . 实验目的 ????? 巩固线性表的数据结构,学会线性表的应用。 1. 回顾线性表的逻辑结构,线性表的物理存储结构和常见操作。 2. 学习运用线性表的知识来解决实际问题。 3. 进一步巩固程序调试方法。 4. 进一步巩[详细]
-
算法图解之快速排序
所属栏目:[安全] 日期:2021-03-19 热度:85
分而治之(又称DC) 书中举了一个例子,假设你是农场主,有一块土地,如图所示: ? 你要将这块地均匀分成方块,且分出的方块要尽可能大。 ? ? 从图上看,显然是不符合预期结果的。 那么如何将一块地均匀分成方块,并确保分出的方块是最大的呢?使用DC策略。 (1)[详细]
-
lt;数据结构与算法分析gt;读书笔记--利用Java5泛型实现泛型构
所属栏目:[安全] 日期:2021-03-19 热度:63
? 一、简单的泛型类和接口 当指定一个泛型类时,类的声明则包括一个或多个类型参数,这些参数被放入在类名后面的一对尖括号内。 示例一: package cn.generic.example; public class GenericMemoryCell AnyType { public AnyType read() { return storedValue[详细]
-
lt;数据结构与算法分析gt;读书笔记--函数对象
所属栏目:[安全] 日期:2021-03-19 热度:98
关于函数对象,百度百科对它是这样定义的: 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象。又称仿函数。 ? 听起来确实很难懂,通过搜索我找到一篇博客,作者对其是这样的描述: 如果把对象理解成指针的话,[详细]
-
lt;数据结构与算法分析gt;读书笔记--运行时间计算
所属栏目:[安全] 日期:2021-03-19 热度:132
有几种方法估计一个程序的运行时间。前面的表是凭经验得到的(可以参考:数据结构与算法分析读书笔记--要分析的问题) 如果认为两个程序花费大致相同的时间,要确定哪个程序更快的最好方法很可能将它们编码并运行。 一般地,存在几种算法思想,而我们总愿意尽早[详细]
-
老黄牛读后感
所属栏目:[安全] 日期:2021-03-19 热度:176
感悟: 有句话叫做,一千个人里面就有一千个哈姆莱特,通常表示着不同的人对某个事物看法不同。 今天再读这篇文章时,联想到2018年的程序员跳楼事件。至于为什么跳楼,真相究竟是什么,这里不作探究。这里想说的是,放眼整个世界,每天都有像老黄牛这样的例子[详细]
-
lt;数据结构与算法分析gt;读书笔记--模型
所属栏目:[安全] 日期:2021-03-19 热度:195
为了在正式的构架中分析算法,我们需要一个计算模型。我们的模型基本上是一台标准的计算机,在机器中指令被顺序地执行。该模型有一个标准的简单指令系统,如加法、乘法、比较和赋值等。但不同于实际计算机情况的是,模型机做任一简单的工作都恰好花费一个时[详细]
-
lt;数据结构与算法分析gt;读书笔记--要分析的问题
所属栏目:[安全] 日期:2021-03-19 热度:141
通常,要分析的最重要的资源就是运行时间。有几个因素影响着程序的运行时间。有些因素(如使用编译器和计算机)显然超出了任何理论模型的范畴,因此,虽然它们是重要的,但是我们在这里还是不能考虑它们。剩下的主要因素是所使用的算法以及对该算法的输入。 典[详细]
-
算法图解之选择排序
所属栏目:[安全] 日期:2021-03-19 热度:60
假设你的计算机存储了很多乐趣。对于每个乐队,你都记录了其作品被播放的次数。 如果你要将这个列表按播放次数从多到少的顺序排列,从而将你喜欢的乐队排序。该如何做呢? 我第一眼看到这个问题时,想到的是通过sql解决这个问题 假设如果这是一个数据表的话,[详细]
-
算法图解之数组和链表
所属栏目:[安全] 日期:2021-03-19 热度:89
数组和链表 1.数组 以添加第四个待办事项为例,但后面的那个抽屉已经放了别人的东西 这就像你与朋友去看电影,找到地方就坐后又来了一位朋友,但原来坐的地方没有空位置,只得再找一个方可坐下所有人的地方。在这种情况下,你需要请求计算机重新分配一块可容[详细]
-
lt;数据结构与算法分析gt;读书笔记--数学知识复习
所属栏目:[安全] 日期:2021-03-19 热度:174
数学知识复习是《数据结构与算法分析》的第一章引论的第二小节,之所以放在后面,是因为我对数学确实有些恐惧感。不过再怎么恐惧也是要面对的。 ? 一、指数 基本公式: ? ?二、对数 在计算机科学中除非有特别的声明,否则所有的对数都是以2为底的。 定义:X A[详细]
-
算法—选择排序
所属栏目:[安全] 日期:2021-03-19 热度:144
选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元[详细]
-
算法—希尔排序
所属栏目:[安全] 日期:2021-03-19 热度:94
希尔排序 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率 但插入排[详细]
-
算法—冒泡排序
所属栏目:[安全] 日期:2021-03-19 热度:196
冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到[详细]
-
算法—插入排序
所属栏目:[安全] 日期:2021-03-19 热度:112
插入排序 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到 {displaystyle O(1)} {di[详细]
-
数据结构:数组、链表、栈、队列的理解
所属栏目:[安全] 日期:2021-03-19 热度:153
解释定义 数据结构: 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。再简单描述一下:数据结构就是描述对象间逻辑关系的学科。 如果还是不太清楚下面会举例说明的。 数据存储结构: 简单的讲就是数据在计算机中的存储方式。 常用的数据存储[详细]
-
iptables 添加,删除,查看,修改
所属栏目:[安全] 日期:2021-03-19 热度:115
iptables是linux系统自带的防火墙,功能强大,学习起来需要一段时间,下面是一些习iptables的时候的记录。如果iptables不熟悉的话可以用apf,是一款基于iptables的防火墙,挺好用的。请参考: linux apf 防火墙 安装 配置 一,安装并启动防火墙 [root@linux ~[详细]
-
Shell脚本中实现把输入的密码转换为*(星号)的方法
所属栏目:[安全] 日期:2021-03-19 热度:90
如果你需要写一段与用户交互,且需要输入一些敏感信息的(例如:用户密码、License等),那么直接用printf+read的方式,就会把用户输入的信息显示在屏幕了,这是不符合信息安全的,而且对客户体验来说也显得不够专业,所以就需要将用户输入的密码转换为*,样[详细]
-
linux apf 防火墙 安装 配置
所属栏目:[安全] 日期:2021-03-19 热度:182
APF(Advanced Policy Firewall)是 Rf-x Networks 出品的Linux环境下的软件防火墙,被大部分Linux服务器管理员所采用,使用iptables的规则,易于理解及使用。 适合对iptables不是很熟悉的人使用,因为它的安装配置比较简单,但是功能还是非常强大的。 一,下载,[详细]