-
【数据结构】链表
所属栏目:[安全] 日期:2021-03-31 热度:159
副标题#e# 链表是数据结构课程的第一讲,也是最为简单的数据结构。其基本结构是一个包含有值和另一个节点地址或索引的对象。逐个对象因为上一级(前驱)的索引而一一相连,形成了一个链状的线性结构。链表可以灵活地增加或者减少节点的个数,当时需要增加时[详细]
-
【数据结构】基本概念
所属栏目:[安全] 日期:2021-03-31 热度:108
作者:郭孝星 微博:郭孝星的新浪微博 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells Github:https://github.com/AllenWells 一 基本概念和术语 数据结构 数据结构:数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他[详细]
-
《数据结构》——排序
所属栏目:[安全] 日期:2021-03-31 热度:175
??? 一、 概述 ?? ??? 排序(Sorting)是数据处理中一种很重要的算法。一般情况下,排序操作在数据处理过程中要花费许多时间,为了提高计算机的运行效率,人们提出不断改进的排序算法,这些算法也从不同种角度展示了算法设计的某些重要原则。谈到了计算的[详细]
-
【数据结构】堆
所属栏目:[安全] 日期:2021-03-31 热度:119
副标题#e# 堆 这种数据结构。一般堆用来实现优先级队列。优先级队列:和通常的栈和队列一样,只不过里面的每个元素都有一个“优先级”,在处理的时候,首先处理优先级最高的。通常包含三个操作getMax/delMax/insert 栈和队列算是优先级队列的特例。 使用其[详细]
-
【数据结构】二叉树
所属栏目:[安全] 日期:2021-03-31 热度:119
副标题#e# 前言 数据结构还是大二的时候学过的,当然由于是非计算机专业的学生,所以学的也不怎么样,去年用c++实现了最基本的数据结构,链表/栈/队列/二叉树,三月份看的时候还贴到了博客上。然而当时由于代码量不够,其实写的并不是很好,理解也太不到位[详细]
-
【数据结构】冒泡排序
所属栏目:[安全] 日期:2021-03-31 热度:86
对于一个int数组,请编写一个冒泡排序算法,对数组元素排序。 给定一个int数组A及数组的大小n,请返回排序后的数组。 测试样例: [1,2,3,5,3],6 [1,5] class BubbleSort {public: void swap(int * a,int * b){ int temp = *a; *a = *b; *b = temp; } void[详细]
-
【数据结构】快速排序
所属栏目:[安全] 日期:2021-03-31 热度:166
对于一个int数组,请编写一个归并排序算法,对数组元素排序。 给定一个int数组A及数组的大小n,请返回排序后的数组。 测试样例: [1,2,3,5,3],6 [1,5] 思路: 1, 选取第一个为哨兵,不要随机选取 2, 在交换的时候一定要注意偏移量,left一定要加上,不然[详细]
-
【数据结构】 两个栈实现一个队列【面试】
所属栏目:[安全] 日期:2021-03-31 热度:134
栈结构:先进后出,后进先出,只允许在栈尾操作。 队列:先进先出,在队尾入队,在队头出队。 要想用两个栈实现一个队列,就需要使用一个相当于中间量的结构进行队列的入队和出队操作。 用图形象化为: 这样问题就从图中得出了思路: 入队操作:把入队元素[详细]
-
【数据结构】 一个数组实现两个栈【面试】
所属栏目:[安全] 日期:2021-03-31 热度:181
副标题#e# 以前,我们实现一个栈,轻轻松松,无需考虑太多因素,即可实现。 现在,要求在一个数组里实现两个栈,那么在数组里怎么实现栈呢? 无非就是下标索引,方法也不局限一种,例如:用奇数下标作为栈s1的结构,用偶数作为s2的结构;再者:一前一后的结[详细]
-
【数据结构】 栈
所属栏目:[安全] 日期:2021-03-31 热度:69
栈结构,通俗易懂,特点:先进后出,后进先出。 以下,仅对于栈结构常用的操作进行实现 包括: ????????入栈(push),出栈(pop),判空(empty),栈顶元素(GetTop) #include?iostreamusing?namespace?std;templateclass?Tclass?Stack{public:????Stack[详细]
-
【数据结构】 二叉树
所属栏目:[安全] 日期:2021-03-31 热度:140
副标题#e# 二叉树概念 在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 二 叉树的每个结点至多只有二棵子树(不存在度大于2的结[详细]
-
【数据结构】位图BitMap与布隆过滤器BloomFilter
所属栏目:[安全] 日期:2021-03-31 热度:59
副标题#e# ??? 首先先看一下下面这个腾讯的面试题: 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。?【腾讯】 思路一: ??? 最容易想到的解法就是遍历所有的40多亿个整数,然后一个一个判断。但是这个需[详细]
-
【数据结构】常见的7种比较排序算法1
所属栏目:[安全] 日期:2021-03-31 热度:189
副标题#e# ● 直接插入排序(Insert Sort) 1、算法描述: ? ??该算法是一种简单直观的是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上只需用到O(1)的额外空间的排序,因而在从后向前扫描过程中,[详细]
-
【数据结构】常见的7种比较排序算法2
所属栏目:[安全] 日期:2021-03-31 热度:105
副标题#e# ● 快速排序(Quick Sort) 1、算法描述: ? ?在平均状况下,排序n个数据要O(nlg(n))次比较。在最坏状况下则需要O(n^2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 O(nlg(n))算法更快,因为它的内部循环(inner loop)可以在大[详细]
-
【数据结构】非比较排序的算法实现(包括计数排序、计数排序)
所属栏目:[安全] 日期:2021-03-31 热度:195
计数排序: #define?_CRT_SECURE_NO_WARNINGS?1#includeiostreamusing?namespace?std;#includeassert.h#includevectorvoid?Print(vectorint??a){????for?(int?i?=?0;?i??a.size();?i++)????{????????cout??a[i]??"??";????}????cout??endl;}void?CountSort[详细]
-
【数据结构】非比较排序算法(实现计数排序和基数排序)
所属栏目:[安全] 日期:2021-03-31 热度:56
● 计数排序 1、算法思想: ?????? 计数排序是直接定址法的变形。通过开辟一定大小的空间,统计相同数据出现的次数,然后回写到原序列中。 2、步骤: 1)找到序列中的最大和最小数据,确定开辟的空间大[详细]
-
【数据结构】二叉搜索树
所属栏目:[安全] 日期:2021-03-31 热度:82
● 二叉搜索树满足以下条件的二叉树: 1、每个节点都有一个作为搜索依据的关键码(key),所有节点的关键码互不相同。 2、左子树上所有节点的关键码(key)都小于根节点的关键码(key)。 3、右子树上所有节点的关键码(key)都大于根节点的关键码(key)[详细]
-
【数据结构】AVL树
所属栏目:[安全] 日期:2021-03-31 热度:179
副标题#e# 1、AVL树简介 ????? AVL树本质上还是一棵二叉搜索树,又称高度平衡的二叉搜索树。它能保持二叉树的高度平衡,尽量降低二叉树的高度,减少树的平均搜索长度。对于二叉搜索树的介绍和实现,可查看本人上一篇博客。 2、AVL树的特点 1)本身首先是一[详细]
-
算法—选择排序
所属栏目:[安全] 日期:2021-03-18 热度:174
选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有[详细]
-
算法—希尔排序
所属栏目:[安全] 日期:2021-03-18 热度:95
希尔排序 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率 但插入[详细]
-
算法—冒泡排序
所属栏目:[安全] 日期:2021-03-18 热度:83
冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到[详细]
-
算法—插入排序
所属栏目:[安全] 日期:2021-03-18 热度:106
插入排序 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到 {displaystyle O(1)} {[详细]
-
数据结构:数组、链表、栈、队列的理解
所属栏目:[安全] 日期:2021-03-18 热度:165
解释定义 数据结构: 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。再简单描述一下:数据结构就是描述对象间逻辑关系的学科。 如果还是不太清楚下面会举例说明的。 数据存储结构: 简单的讲就是数据在计算机中的存储方式。 常用的数据存[详细]
-
iptables 添加,删除,查看,修改
所属栏目:[安全] 日期:2021-03-18 热度:170
iptables是linux系统自带的防火墙,功能强大,学习起来需要一段时间,下面是一些习iptables的时候的记录。如果iptables不熟悉的话可以用apf,是一款基于iptables的防火墙,挺好用的。请参考:linux apf 防火墙 安装 配置 一,安装并启动防火墙 [root@linux[详细]
-
Shell脚本中实现把输入的密码转换为*(星号)的方法
所属栏目:[安全] 日期:2021-03-18 热度:86
如果你需要写一段与用户交互,且需要输入一些敏感信息的(例如:用户密码、License等),那么直接用printf+read的方式,就会把用户输入的信息显示在屏幕了,这是不符合信息安全的,而且对客户体验来说也显得不够专业,所以就需要将用户输入的密码转换为*,[详细]

浙公网安备 33038102330465号