曹世宏的博客

记录一些学习资料

快速排序优化及扫描分区法

快速排序扫描分区法: 通过单向扫描,双向扫描,以及三指针分区分别实现快速排序算法。着重体现分区的思想。 一遍单向扫描法: 思路: 一遍扫描法的思路是,用两个指针将数组划分为三个区间, 扫描指针(scan_pos)左边是确认小于等于主元的,扫描指针到某个指针(next_bigger_pos)中间为...

2019-01-07 16:13:55

阅读数 61

评论数 0

多维数组和矩阵程序练习

顺时针打印二维数组: 题目: 顺时针打印二维数组。 例如:将如下数组: {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}} 输出为:1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 思路:...

2019-01-07 16:12:35

阅读数 36

评论数 0

递归与循环

递归与循环: 理论上,任何循环都可以重写为递归形式。 有时候,为栈限制,需要“尾递归”。 java不支持尾递归。 有些语言没有循环语句,只能使用递归。 循环改递归: 改为递归的关键是发现逻辑的“相似性”。 不要忘记递归的“出口”。 构造相似性: 如果没有明显的相似性,需要主动构造。 不能相似...

2019-01-02 17:57:07

阅读数 41

评论数 0

Python获取Cookie时遇到重定向的情况

问题描述和解决: 在模拟登录教务处的时候,需要通过获取cookie来进行后面一系列操作。 但是刚开始,python模拟登录一直失败,提示的没权限。通过网页抓包分析,最后看到每次输入地址进行登录时候,会发生302重定向,重定向后的地址和原来一样,但是会在地址后面传入一段随机值。 通过Burpsuit...

2019-01-01 22:43:11

阅读数 113

评论数 0

Python实现爬取教务处成绩系统

Python查询教务处成绩系统简介 项目简介: 该项目是利用tornado框架写的,程序运行后,可以在浏览器输入地址进行访问网站,可以实现输入账号密码后查询成绩。以及可以进行评教。 项目工程文件目录: 图:项目工程文件 图:网页文件 程序功能和效果图如下: 登录界面: 登录界面...

2019-01-01 22:41:56

阅读数 455

评论数 2

位运算的奇巧淫技

位运算简介 位运算简介: ​ 程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那么6 and 11的结果就是2,它...

2019-01-01 18:07:58

阅读数 131

评论数 0

回溯算法

基本概念: 回溯算法(back tracking)实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重...

2018-12-12 22:32:45

阅读数 37

评论数 0

贪心算法

基本概念: 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 ​ 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必...

2018-12-12 22:32:16

阅读数 30

评论数 0

动态规划算法

基本概念: 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。 基本思想与策略: 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后...

2018-12-12 22:31:41

阅读数 28

评论数 0

分治法

分治法的基本概念: 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排...

2018-12-12 22:30:52

阅读数 30

评论数 0

枚举算法

枚举算法的基本思想 枚举算法是我们在日常中使用到的最多的一个算法,它的核心思想就是:枚举所有的可能。 枚举法的本质就是从所有候选答案中去搜索正确的解,使用该算法需要满足两个条件:(1)可预先确定候选答案的数量;(2)候选答案的范围在求解之前必须有一个确定的集合。 枚举结构:循环+判断语句。 枚...

2018-12-12 22:30:22

阅读数 37

评论数 0

常见排序算法

冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 ...

2018-12-12 22:29:26

阅读数 26

评论数 0

蓝桥杯第九届省赛Java-B组

第一题:第几天 2000年的1月1日,是那一年的第1天。 那么,2000年的5月4日,是那一年的第几天? 注意:需要提交的是一个整数,不要填写任何多余内容。 日期类题目解题方法如下: 解法1:2000年是闰年二月有29天,一月和三月有31天,四月有30天,所以:31+29+31+30+4=1...

2018-12-12 22:25:22

阅读数 110

评论数 0

FTP服务器搭建和配置

FTP服务简介 FTP概述: ​ FTP是文件传输协议(File Transfer Protocal)的简写,主要完成与远程计算机的文件传输。 FTP采用客户/服务器模式,客户机与服务器之间利用TCP建立连接,客户可以从服务器上下载文件,也可以把本地文件上传至服务器。 FTP服务器有匿名的和授权的...

2018-10-25 23:10:07

阅读数 91

评论数 0

ISCSI服务器搭建与配置

ISCSI服务简介 ISCSI简介: iSCSI( Internet Small Computer System Interface 互联网小型计算机系统接口) 技术是一种新存储技术,该技术是将现有的SCSI接口与以太网技术相结合,使服务器可与使用IP网络的存储装置互相交换资料。 iscsi 结构...

2018-10-25 23:04:00

阅读数 95

评论数 0

Samba服务器搭建与配置

Samba服务简介 Samba的起源: 对于windows的网上邻居来讲,共享文件的方式用的是SMB和CIFS协议以及NETBIOS协议Linux/Unix之间用的是NFS协议。 ​ 但是Linux和Windows之间是不能共享的,所以澳大利亚国立大学的Andrew Tridgell,决定...

2018-10-18 17:49:19

阅读数 203

评论数 0

Linux下autofs自动挂载服务

Autofs简介 Autofs介绍: mount是用来挂载文件系统的,可以在系统启动的时候挂载也可以在系统启动后挂载。对于本地固定设备,如硬盘可以使用mount挂载;而光盘、软盘、NFS、SMB等文件系统具有动态性,即需要的时候才有必要挂载。光驱和软盘我们一般知道什么时候需要挂载,但NFS和SMB...

2018-10-18 14:47:41

阅读数 109

评论数 0

NFS服务器搭建与配置

NFS服务简介 什么是NFS? NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。 ​ NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目...

2018-10-18 14:42:40

阅读数 715

评论数 0

DNS服务器搭建与配置

title: DNS服务器搭建与配置 date: 2018-10-15 21:20:07 tags: [Linux笔记,Linux服务] categories: Linux DNS服务介绍 DNS服务简介: DNS(Domain Name System–域名系统),是...

2018-10-16 13:25:41

阅读数 94

评论数 0

Linux下systemctl命令和service、chkconfig命令的区别

title: Linux下systemctl命令和service、chkconfig命令的区别 date: 2018-10-15 20:00:10 tags: [Linux笔记,Linux命令] categories: Linux systemctl和service、ch...

2018-10-16 13:20:36

阅读数 225

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭