-
【数据结构】 二叉树
所属栏目:[安全] 日期:2021-03-31 来源:DaWei
二叉树概念 在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 二 叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树[详细]
-
【数据结构】位图BitMap与布隆过滤器BloomFilter
所属栏目:[安全] 日期:2021-03-31 来源:DaWei
??? 首先先看一下下面这个腾讯的面试题: 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。?【腾讯】 思路一: ??? 最容易想到的解法就是遍历所有的40多亿个整数,然后一个一个判断。但是这个需要花费的内[详细]
-
【数据结构】常见的7种比较排序算法1
所属栏目:[安全] 日期:2021-03-31 来源:DaWei
● 直接插入排序(Insert Sort) 1、算法描述: ? ? ? 该算法是一种简单直观的是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上只需用到O(1)的额外空间的排序,因而在从后向前扫描过程中,需要反复把[详细]
-
【数据结构】常见的7种比较排序算法2
所属栏目:[安全] 日期:2021-03-31 来源:DaWei
● 快速排序(Quick Sort) 1、算法描述: ? ?在平均状况下,排序n个数据要 O(nlg(n)) 次比较。在最坏状况下则需要 O(n^2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 O(nlg(n)) 算法更快,因为它的内部循环(inner loop)可以在大部分的[详细]
-
【数据结构】非比较排序的算法实现(包括计数排序、计数排序)
所属栏目:[安全] 日期:2021-03-31 来源:DaWei
计数排序: #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(v[详细]
-
【数据结构】非比较排序算法(实现计数排序和基数排序)
所属栏目:[安全] 日期:2021-03-31 来源:DaWei
● 计数排序 1、算法思想: ?????? 计数排序是直接定址法的变形。通过开辟一定大小的空间,统计相同数据出现的次数,然后回写到原序列中。 2、步骤: 1)找到序列中的最大和最小数据,确定开辟的空间大[详细]
-
【数据结构】二叉搜索树
所属栏目:[安全] 日期:2021-03-31 来源:DaWei
● 二叉搜索树满足以下条件的二叉树: 1、每个节点都有一个作为搜索依据的关键码(key),所有节点的关键码互不相同。 2、左子树上所有节点的关键码(key)都小于根节点的关键码(key)。 3、右子树上所有节点的关键码(key)都大于根节点的关键码(key)。[详细]
-
【数据结构】AVL树
所属栏目:[安全] 日期:2021-03-31 来源:DaWei
1、AVL树简介 ????? AVL树本质上还是一棵二叉搜索树,又称高度平衡的二叉搜索树。它能保持二叉树的高度平衡,尽量降低二叉树的高度,减少树的平均搜索长度。对于二叉搜索树的介绍和实现,可查看本人上一篇博客。 2、AVL树的特点 1)本身首先是一棵二叉搜索树[详细]
-
linux下编译boost.python简单方法
所属栏目:[安全] 日期:2021-03-21 来源:DaWei
最近项目使用c++操作 Python 脚本,选用boost.python库。在window下编译安装很顺利,但是在Linux下一直编译不通过,总是提示找不到头文件。linux版本为rhel5.7。后来询问同事,原来是同事将原来系统自带的python2.4删除掉了,然后手动编译安装了python3.3。[详细]
-
Linux下的tar压缩解压缩命令详解(小结)
所属栏目:[安全] 日期:2021-03-21 来源:DaWei
tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。 -z:有gzip[详细]
-
输出执行操作和打印日志的shell脚本实例
所属栏目:[安全] 日期:2021-03-20 来源:DaWei
cat /mnt/log_function.sh #!/bin/bash #log function####log_correct函数打印正确的输出到日志文件 function log_correct () { DATE=`date “+%Y-%m-%d %H:%M:%S”` ####显示打印日志的时间 USER=$(whoami) ####那个用户在操作 echo “${DATE} ${USER} exec[详细]
-
Linux 分区初始化为物理卷,把物理卷加入卷组的方法
所属栏目:[安全] 日期:2021-03-20 来源:DaWei
用到的命令有 1、pvcreate (physical volume create) 2、vgcreate (volume group create) 例子1:创建物理卷 pvcreate /dev/sdb1 -- /dev/sdb1 是一个分区! 如果在初始化的时候出错了,可能是因为分区的分区类型不正确,区的类型要求是8e(linux lvm) ------[详细]
-
shell脚本实现分日志级别输出的方法
所属栏目:[安全] 日期:2021-03-20 来源:DaWei
shell脚本如何优雅的记录日志信息,下面让我们一步一步,让shell脚本的日志也变得高端起来,实现如下功能 ①设定日志级别,实现可以输出不同级别的日志信息,方便调试 ②日志格式类似为:[日志级别] 时间 funcname:函数名 [lineno:行号] 日志信息 ③不同级别[详细]
-
shell 脚本安装PHP扩展的简单方法
所属栏目:[安全] 日期:2021-03-20 来源:DaWei
实例如下: #!/bin/bash#This script is to install PHP extensions#Author=steven#Email=775189187@qq.com#WriteTime=Sun Aug 14 23:32:18 CST 2016#The environment variableExtension_HOME=/usr/local/src/php-5.6.16/ext/mysqlPHP_HOME=/usr/local/webse[详细]
-
linux lsof命令详解及实例
所属栏目:[安全] 日期:2021-03-20 来源:DaWei
linux lsof命令详解 简介 lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,[详细]
-
解决centos7 开机/etc/rc.local 不执行的问题
所属栏目:[安全] 日期:2021-03-20 来源:DaWei
最近发现 centos7 的 /etc/rc.local 不会开机执行,于是认真看了下 /etc/rc.local 文件内容的就发现了问题的原因了 #!/bin/bash# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES## It is highly advisable to create own systemd services or udev rules# t[详细]
-
Apache使用 .htaccess 来实现强制https访问的方法
所属栏目:[安全] 日期:2021-03-20 来源:DaWei
我们可以用Apache的.htaccess的重定向规则来实现http强制跳转到https访问网站。 ( 重要提示:必须将代码放到.htaccess文件内容的最前面,以保证重定向优先权。) 代码如下: RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://xpss[详细]
-
SVN限制message字符个数及格式的实例
所属栏目:[安全] 日期:2021-03-20 来源:DaWei
一、编写 pre-commit脚本 ------------------------------------#/bin/bashREPOS="$1"TXN="$2"# Make sure that the log message contains some text.SVNLOOK=/usr/bin/svnlookLOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`MSG=`$[详细]
-
完美解决gvim的菜单乱码问题
所属栏目:[安全] 日期:2021-03-20 来源:DaWei
gvim的菜单乱码问题的解决方法: (乱码是由于系统内码不兼容导致,系统内码包括gb2312 gb18030 utf-8 utf-16[unicode]等) 生成文件 ~/.gvimrc 并添加如下语句: set encoding=chinese set langmenu=zh_CN.GBK set imcmdline set guifont="Serif 14" source[详细]
-
详谈Linux打包与压缩及tar命令
所属栏目:[安全] 日期:2021-03-20 来源:DaWei
打包和压缩 在linux中,打包和压缩可以说是两个不同的概念,弄清这两个概念对于我们理解复杂的文件后缀有非常大的帮助 打包 将若干个文件和目录打包在一起变成一个大的文件,这时只是简单的打包,所以一般打包后的文件大小比被打包的文件总和还大 压缩 将一[详细]
-
算法—选择排序
所属栏目:[安全] 日期:2021-03-19 来源:DaWei
选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元[详细]
-
算法—希尔排序
所属栏目:[安全] 日期:2021-03-19 来源:DaWei
希尔排序 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率 但插入排[详细]
-
算法—冒泡排序
所属栏目:[安全] 日期:2021-03-19 来源:DaWei
冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到[详细]
-
算法—插入排序
所属栏目:[安全] 日期:2021-03-19 来源:DaWei
插入排序 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到 {displaystyle O(1)} {di[详细]
-
数据结构:数组、链表、栈、队列的理解
所属栏目:[安全] 日期:2021-03-19 来源:DaWei
解释定义 数据结构: 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。再简单描述一下:数据结构就是描述对象间逻辑关系的学科。 如果还是不太清楚下面会举例说明的。 数据存储结构: 简单的讲就是数据在计算机中的存储方式。 常用的数据存储[详细]




