-
【数据结构】二、线性表
所属栏目:[安全] 日期:2021-04-01 热度:65
2.1. 定义与特点 定义 ? 具有相同数据类型的 (n(ngeq0)) 个数据元素的有限序列。(n) 是表长,当 (n=0) 时该线性表是一个空表。若用 (L) 表示线性表,一般表示为: [ L=(a_1,a_2,...,a_i,a_{i+1},a_n) ] 特点 元素个数有限 元素具有逻辑上的顺序[详细]
-
【数据结构】第二章小结
所属栏目:[安全] 日期:2021-03-31 热度:157
副标题#e# ps:第一次用博客园写,记录第一次 一、数据结构第二章主要为:顺序表和链表的构造及其增删查改的一些基本操作,以及粗略计算它们的时间or空间的复杂度。 ? ? ? 1、顺序表: ? ? ? ? ? ? ? ? ? ? ? ? ?(1)? 特点:逻辑结构上相邻,物理存储上也[详细]
-
【数据结构】 单向链表
所属栏目:[安全] 日期:2021-03-31 热度:196
【1】错误:H-next =NULL 或其他“让指针指向空”的语句运行报错:“ ‘NULL‘ : undeclared identifier”? 、 “ ‘=‘ : cannot convert from ‘int‘ to ‘struct node *‘? ” 原因:未引入头文件 #include “stdio.h”?,把NULL定义为一个空地址是在 s[详细]
-
[JZOJ6089]【CodeChef 2014 April Challenge】Final Battle of C
所属栏目:[安全] 日期:2021-03-31 热度:124
Description (n,q,Vleq 100000,w_ileq 10^9) Solution 又是一道大数据结构 由于有一个下取整,这就导致了不同时间的修改值是不能简单的直接加在一起的。 容易发现,1操作的影响只会影响到距离不超过log的点。 这样我们很容易得到一个(qlog nlog ^2V[详细]
-
【数据结构】红黑树与跳表-(SortSet)-(TreeMap)-(TreeSet)
所属栏目:[安全] 日期:2021-03-31 热度:75
副标题#e# SortSet 有序的Set,其实在Java中TreeSet是SortSet的唯一实现类,内部通过TreeMap实现的;而TreeMap是通过红黑树实现的;而在Redis中是通过跳表实现的; SkipList 跳表,思想类似平衡二叉树,但又不一样;下面摘了一个介绍: skiplist数据结构简[详细]
-
《数据结构》实验三: 栈和队列实验
所属栏目:[安全] 日期:2021-03-31 热度:62
《数据结构》实验三:??? 栈和队列实验 一..实验目的 ???? 巩固栈和队列数据结构,学会运用栈和队列。 1.回顾栈和队列的逻辑结构和受限操作特点,栈和队列的物理存储结构和常见操作。 2.学习运用栈和队列的知识来解决实际问题。 3.进一步巩固程序调试方法[详细]
-
《数据结构》实验二: 线性表实验
所属栏目:[安全] 日期:2021-03-31 热度:180
《数据结构》实验二:?????线性表实验 一..实验目的 ?????巩固线性表的数据结构,学会线性表的应用。 1.回顾线性表的逻辑结构,线性表的物理存储结构和常见操作。 2.学习运用线性表的知识来解决实际问题。 3.进一步巩固程序调试方法。 4.进一步巩固模板程[详细]
-
《数据结构》实验四: 字符串和多维数组 实验
所属栏目:[安全] 日期:2021-03-31 热度:90
《数据结构》实验四:????字符串和多维数组?实验 一..实验目的 ?????巩固字符串和多维数组相关知识,学会运用灵活应用。 1.回顾字符串和多维数组的逻辑结构和存储操作特点,字符和数组的物理存储结构和常见操作。 2.学习运用字符串和和数组的知识来解决实[详细]
-
算法图解之快速排序
所属栏目:[安全] 日期:2021-03-20 热度:152
副标题#e# 分而治之(又称DC) 书中举了一个例子,假设你是农场主,有一块土地,如图所示: ? 你要将这块地均匀分成方块,且分出的方块要尽可能大。 ? ? 从图上看,显然是不符合预期结果的。 那么如何将一块地均匀分成方块,并确保分出的方块是最大的呢?使用D[详细]
-
lt;数据结构与算法分析gt;读书笔记--利用Java5泛型实现泛型构
所属栏目:[安全] 日期:2021-03-20 热度:152
副标题#e# ? 一、简单的泛型类和接口 当指定一个泛型类时,类的声明则包括一个或多个类型参数,这些参数被放入在类名后面的一对尖括号内。 示例一: package cn.generic.example;public class GenericMemoryCell AnyType{ public AnyType read() { return st[详细]
-
lt;数据结构与算法分析gt;读书笔记--函数对象
所属栏目:[安全] 日期:2021-03-20 热度:93
关于函数对象,百度百科对它是这样定义的: 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象。又称仿函数。 ? 听起来确实很难懂,通过搜索我找到一篇博客,作者对其是这样的描述: 如果把对象理解成指针的话[详细]
-
lt;数据结构与算法分析gt;读书笔记--运行时间计算
所属栏目:[安全] 日期:2021-03-20 热度:80
有几种方法估计一个程序的运行时间。前面的表是凭经验得到的(可以参考:数据结构与算法分析读书笔记--要分析的问题) 如果认为两个程序花费大致相同的时间,要确定哪个程序更快的最好方法很可能将它们编码并运行。 一般地,存在几种算法思想,而我们总愿意尽[详细]
-
老黄牛读后感
所属栏目:[安全] 日期:2021-03-20 热度:190
感悟: 有句话叫做,一千个人里面就有一千个哈姆莱特,通常表示着不同的人对某个事物看法不同。 今天再读这篇文章时,联想到2018年的程序员跳楼事件。至于为什么跳楼,真相究竟是什么,这里不作探究。这里想说的是,放眼整个世界,每天都有像老黄牛这样的例[详细]
-
lt;数据结构与算法分析gt;读书笔记--模型
所属栏目:[安全] 日期:2021-03-20 热度:172
为了在正式的构架中分析算法,我们需要一个计算模型。我们的模型基本上是一台标准的计算机,在机器中指令被顺序地执行。该模型有一个标准的简单指令系统,如加法、乘法、比较和赋值等。但不同于实际计算机情况的是,模型机做任一简单的工作都恰好花费一个[详细]
-
lt;数据结构与算法分析gt;读书笔记--要分析的问题
所属栏目:[安全] 日期:2021-03-20 热度:127
通常,要分析的最重要的资源就是运行时间。有几个因素影响着程序的运行时间。有些因素(如使用编译器和计算机)显然超出了任何理论模型的范畴,因此,虽然它们是重要的,但是我们在这里还是不能考虑它们。剩下的主要因素是所使用的算法以及对该算法的输入。[详细]
-
算法图解之选择排序
所属栏目:[安全] 日期:2021-03-20 热度:84
假设你的计算机存储了很多乐趣。对于每个乐队,你都记录了其作品被播放的次数。 如果你要将这个列表按播放次数从多到少的顺序排列,从而将你喜欢的乐队排序。该如何做呢? 我第一眼看到这个问题时,想到的是通过sql解决这个问题 假设如果这是一个数据表的话[详细]
-
算法图解之数组和链表
所属栏目:[安全] 日期:2021-03-20 热度:182
数组和链表 1.数组 以添加第四个待办事项为例,但后面的那个抽屉已经放了别人的东西 这就像你与朋友去看电影,找到地方就坐后又来了一位朋友,但原来坐的地方没有空位置,只得再找一个方可坐下所有人的地方。在这种情况下,你需要请求计算机重新分配一块可[详细]
-
lt;数据结构与算法分析gt;读书笔记--数学知识复习
所属栏目:[安全] 日期:2021-03-20 热度:53
数学知识复习是《数据结构与算法分析》的第一章引论的第二小节,之所以放在后面,是因为我对数学确实有些恐惧感。不过再怎么恐惧也是要面对的。 ? 一、指数 基本公式: ? ?二、对数 在计算机科学中除非有特别的声明,否则所有的对数都是以2为底的。 定义:X[详细]
-
算法—选择排序
所属栏目:[安全] 日期:2021-03-19 热度:156
选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有[详细]
-
算法—希尔排序
所属栏目:[安全] 日期:2021-03-19 热度:176
希尔排序 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率 但插入[详细]
-
算法—冒泡排序
所属栏目:[安全] 日期:2021-03-19 热度:74
冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到[详细]
-
算法—插入排序
所属栏目:[安全] 日期:2021-03-19 热度:147
插入排序 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到 {displaystyle O(1)} {[详细]
-
数据结构:数组、链表、栈、队列的理解
所属栏目:[安全] 日期:2021-03-19 热度:65
解释定义 数据结构: 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。再简单描述一下:数据结构就是描述对象间逻辑关系的学科。 如果还是不太清楚下面会举例说明的。 数据存储结构: 简单的讲就是数据在计算机中的存储方式。 常用的数据存[详细]
-
iptables 添加,删除,查看,修改
所属栏目:[安全] 日期:2021-03-19 热度:109
iptables是linux系统自带的防火墙,功能强大,学习起来需要一段时间,下面是一些习iptables的时候的记录。如果iptables不熟悉的话可以用apf,是一款基于iptables的防火墙,挺好用的。请参考:linux apf 防火墙 安装 配置 一,安装并启动防火墙 [root@linux[详细]
-
Shell脚本中实现把输入的密码转换为*(星号)的方法
所属栏目:[安全] 日期:2021-03-19 热度:182
如果你需要写一段与用户交互,且需要输入一些敏感信息的(例如:用户密码、License等),那么直接用printf+read的方式,就会把用户输入的信息显示在屏幕了,这是不符合信息安全的,而且对客户体验来说也显得不够专业,所以就需要将用户输入的密码转换为*,[详细]