- 博客(47)
- 问答 (1)
- 收藏
- 关注
原创 【无标题】
跳表(Skip List)是一个非常有趣的概率型数据结构,特别适合用于需要快速查找的有序数据集合。跳表通过空间换时间(多级索引),用概率平衡代替严格平衡,在实现简单性和性能之间取得了很好的平衡。就像城市交通系统,既有直达高速路(高层索引),也有普通街道(底层链表),根据需求灵活选择路径。
2025-02-23 13:28:12
234
原创 【刷题】贪心算法
贪心算法通常用于那些可以通过局部最优解达到全局最优解的问题,也就是说每一步都选择当前看起来最好的选项,从而希望最终的结果是最优的。
2025-02-22 18:10:45
1240
原创 python爬虫 | 利用正则表达式提取获得的源代码中需要数据的例子
步骤拿到页面源代码通过 re 来提取需要的信息import requestsimport reurl = "https://movie.douban.com/chart"headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3766.400
2021-07-06 12:07:16
422
原创 计算机组成原理 第三章 系统总线
第三章 系统总线3.1 总线的基本概念总线连接的出现早期,计算机系统五大部件的连接方式为分散式连接,即各部件之间使用单独的连线。刚开始,计算机以运算器为中心,其中的连线十分复杂,同时,I/O设备与存储器交换信息时,都需要经过运算器,导致运算器停止运算,严重影响了CPU的工作效率。接着,改进为以存储器为中心,I/O与主存交换信息不需要经过运算器,同时,又采用了中断、DMA等技术,使CPU工作效率得到提高。后来,I/O设备的种类和数量越来越多,分散式连接的方法无法满足人们随时增添设备
2021-07-05 16:01:40
863
原创 python爬虫 | 在 re 模块中使用正则表达式
几种re模块中使用正则表达式的方法findall 查找字符串中所有符合正则表达式的内容,返回 listimport relist = re.findall(r"/d+","今天是2021年7月5日")print(list)finditer 查找字符串中所有符合正则表达式的内容,返回迭代器it = re.finditer(r"\d+","今天是2021年7月5日")#打印出迭代器print(it)#分条打印出迭代器中的内容for i in it: print(i)
2021-07-05 15:42:16
148
原创 正则表达式
regular expression 正则表达式:一直使用表达式的方式对字符串进行匹配的语法规则在线测试正则表达式 https://tool.oschina.net/regex/元字符:具有固定含义的特殊符号常用元字符(每个元字符默认只匹配一位字符串). 匹配除了换行符以外的任意字符\w 匹配字母或数字或下划线\W 匹配非字母或数字或下划线\s 匹配任意的空白符\S 匹配非空白符\d 匹配数字\D 匹配非数字\n 匹配一个换行符\t 匹配一个制表符^
2021-06-28 03:06:03
290
原创 python 爬虫 | 利用循环语句获取分页查询的数据
以豆瓣的电影排行榜为例子在开发者工具中可以看到,随着页面滚动条的下滑,network 中 XHR 的文件数不断增加点击新增的文件,对比后可以发现 params 中的 start 发生改变根据上述发现的不同,可以利用循环语句来获取分页查询的数据获取一次查询的数据import requestsurl = "https://movie.douban.com/j/chart/top_list"param = { "type": "11", "interval_id":
2021-06-25 05:02:21
1485
原创 微信小程序|简单的签到功能(前端部分)
微信小程序部分sign.wxml<!--index.wxml--><view class="container"><view class="sign"> <image class="image" src='../../images/sign.png'></image> <view class="sign_info"> <!--根据用户的签到情况,决定显示签到按钮/签
2021-06-22 17:52:48
2051
原创 微信小程序 | 一个从后端获取 openid 的方法
首先在 app.js 中调用登录接口,给后端发送用户的 codeapp.js//app.jsApp({ globalData: { userInfo:'1', }, onLaunch: function () { // //调用登录接口 wx.login({ success: function (res) { if (res.code) { //发起网络请求 wx.request({
2021-06-21 05:43:21
710
原创 python post传参的爬虫小例子
post 方式传参打开百度翻译的页面然后在 开发者工具 中 在 sug 文件中,可以看到以下信息接着使用 requests 模块即可import requestsurl = "https://fanyi.baidu.com/sug"word = input("请输入你要翻译的单词“)dat = { "kw" : word}resp = requests.post(url,data=dat)print(resp.json()) # 将服务器返回的内容直接处理成 j
2021-06-21 05:23:16
262
原创 几种数据结构简介
数组:把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构,可以通过数组的下标直接读取数据线性列表:顺序表:把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。链表:把逻辑上相邻的数据元素存储在物理上不一定相邻的存储单元中的存储结构。二叉树:是 n (n≥0)个结点所构成的集合,它或为空树(n = 0),或为非空树,对于非空树 T哈希表:HashMap 是一个散列集合,存储键值对的映射HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很
2021-06-20 11:40:06
110
原创 python 使用request模块的爬虫简单例子
安装 request 模块以管理员身份使用命令行 (cmd) 进入到 python 安装目录下的 Scripts 文件夹在命令行中输入 pip install requests ,等待安装完成即可使用requests模块import requestsurl = "https://www.sogou.com/web?query=lizncu"#在网页开发者工具中的 network 中找到 User-Agent#浏览器可能会识别出爬虫从而拒绝访问#加入 headers 使爬虫伪装的更像一些
2021-06-19 10:36:19
257
原创 B/S 和 C/S
B/S 和 C/SC/S指 Client/Server 结构重要特征:交互性强拥有安全的存储形式网络通信数量低响应速度快利于处置大量的数据缺点:针对开发、变更不够灵活维护与管理的难度较大常常只局限在小型局域网,不利于扩展缺少通用性每台客户机全部需要安装相对应的客户端程序分布功能弱且兼容性差,不可以完全迅速部署安装与配置B/S指 Browser/Server 结构,即只安装维护一个服务器,客户端选用浏览器运行软件重要特征:分布性强维护方便开发
2021-06-18 12:24:25
67
原创 应用程序体系结构
应用程序体系结构在 web 应用程序中,有两个互相通信的不同的程序一个是运行在用户主机上的浏览器程序另一个是运行在 web 服务器主机上的 web 服务器程序应用程序体系结构由应用程序研发者设计,规定了如何在各种端系统上组织该应用程序在选择应用程序体系结构时应用程序研发者很可能利用现代网络应用程序中所使用的两种主流体系结构之一客户-服务器体系结构对等(P2P)体系结构客户-服务器体系结构 (client-serve architecture)有一个总是打开的主
2021-06-18 12:23:39
1465
原创 python 爬虫的简单例子
爬虫 : 通过编写程序的方式获取互联网上的资源需求 : 用程序模拟浏览器,输入一个网址,并且从网址中获取需要的资源步骤 :从 python 中导入一个包from urllib.request import urlopen准备好网址 url = http://www.****.com打开网址resp = urlopen(url)获取内容resp.read()print(resp.read().decode("Utf-8"))将获取的内容,写入指定文件with
2021-06-18 10:01:55
191
原创 python | 列表简介
第三章列表是什么如何使用列表中的元素如何定义列表如何增删列表中的元素如何对列表进行永久性元素如何为展示列表而进行临时排序如何确定列表的长度列表简介列表列表是由一系列按特定顺序排列的元素组成你可以将任何东西加入列表中,其中的元素可以没有任何关系鉴于列表通常包含多个元素,给列表指定一个表示复数的名改成是一个不错的主意在 python 中,用 [] 来表示列表,并使用 , 来分隔其中的元素访问列表元素列表是有序集合,因此要访问列表的元素,秩序指出列表名称在指出元素的索引
2021-06-18 09:13:14
71
原创 python | 变量和简单的数据类型
第二章如何使用变量如何创建描述性变量名如何消除名称错误和语法错误什么是字符串如何使用小写、大写、首字母大写的方式显示字符串如何使用空白来显示整洁的输出如何剔除字符串中多余的空白如何使用整数和浮点数使用数值数据时需要注意的意外行为如何编写说明注释变量和简单数据类型变量变量的命名和使用变量命名规则变量名只包含字母、数字、下划线,变量名可以用字母或者下划线开头,但不能以数字开头变量名不能包括空格,可以使用下划线间隔单词不能用 Python 关键字和函数名作为变量名变量名
2021-06-18 09:01:39
63
原创 IDEA 与 SQLServer 连接以及增删改查
1. 连接数据库```javapublic class DBUtil { public static String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver"; public static String dbURL="jdbc:sqlserver://localhost:1433;databaseName=数据库名"; public static String userName="用户名"; pub
2021-05-20 18:48:21
2525
原创 JAVA 第十章
第十章主要内容File类File对象主要用来获取文件本身的一些信息,不涉及对文件的读写操作。创建一个File对象的构造方法有3个:File(String filename);File(String directoryPath,String filename);File(File f, String filename);文件字节输入、输出流java.io包提供了大量的流类,Java把InputStream抽象类的子类创建的流对象称作字节输入流;OutputStream
2021-04-13 13:05:33
272
原创 JAVA 第九章
第九章主要内容Java Swing概述通过图形用户界面(GUI:Graphics User Interface),用户和程序之间可以方便地进行交互。Java的Swing工具包中包含了许多类来支持GUI设计。如:按钮、菜单、列表、文本框等组件类,同时它还包含窗口、面板等容器类。javax.swing包提供了功能更为强大的用来设计GUI的类。java.awt和javax.swing包中一部分类的层次关系的UML类图如图9.1。在学习GUI编程时,必须要很好的掌握两个概念:容器类和组件类
2021-04-13 13:05:03
631
原创 JAVA 第八章
第八章主要内容String类Java专门提供了用来处理字符序列的String类。String类在java.lang包中,由于java.lang包中的类被默认引入,因此程序可以直接使用String类。需要注意的是Java把String类声明为final类,因此用户不能扩展String类,即String类不可以有子类。构造字符串对象常量对象:字符串常量对象是用双引号括起的字符序列,例如:“你好”、“12.97”、"boy"等。Java把用户程序中的String常量放入常
2021-04-13 13:04:32
245
原创 JAVA 第五章
第五章主要内容子类与父类继承是一种由已有的类创建新类的机制。利用继承,我们可以先创建一个共有属性的一般类,根据该一般类再创建具有特殊属性的新类,新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为。由继承而得到的类称为子类,被继承的类称为父类(超类)。Java不支持多重继承(子类只能有一个父类)。声明子类使用关键字extends来定义一个类的子类class 子类名 extends 父类名 { … } 例如:class Stude
2021-04-13 13:02:57
1341
原创 JAVA 第四章
第四章主要内容类Java语言是面向对象语言,它的源程序是由若干个类组成,源文件是扩展名为.java的文本文件。类是Java语言中最重要的数据类型,类声明的变量被称作对象,即类是用来创建对象的模板。类的实现包括两部分:类声明和类体。基本格式为:class 类名 {类体的内容}其中:class是关键字,用来定义类。class 类名是类的声明部分,类名必须是合法的Java标识符。两个大括号以及之间的内容是类体。写类的目的是为了描述一类事
2021-04-13 13:02:26
404
原创 JAVA 第三章
第三章主要内容运算符与表达式Java提供了丰富的运算符,如算术运算符、关系运算符、逻辑运算符、位运算符等。Java语言中的绝大多数运算符和C语言相同,基本语句,如条件分支语句、循环语句等也和C语言类似,因此,本章就主要知识点给予简单的介绍 。算术运算符加减运算符:+ , -加减运算符是二目运算符;加减运算符的结合方向是从左到右;加减运算符的操作元是整型或浮点型数据,加减运算符的优先级是4级。乘、除和求余运算符:* , / , %以上运算符是二目运算符,结合
2021-04-13 13:01:56
352
原创 JAVA 第二章
第二章主要内容标识符与关键字java所有的组成成分都需要有名字,称作标识符,用来表示类名、变量名、方法名标识符用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符,简单地说,标识符就是一个名字 。Java语言规定标识符由字母、下划线、美元符号和数字组成,长度不受限制。标识符的第一个字符不能是数字字符。标识符不能是关键字标识符不能是true、false和null关键字关键字就是具有特定用途或被赋予特定意义的一些单词,不可以把关键字作为
2021-04-13 13:01:04
371
原创 JAVA 第一章
第一章主要内容Java的地位网络地位Java的平台无关性让Java成为编写网络应用程序的佼佼者,平台无关性平台:操作系统和处理器CPU构成平台无关:软件的运行不因操作系统和处理器的变化而无法运行或出现错误Java也提供了许多以网络应用为核心的技术,使得Java特别适合于网络应用软件的设计与开发。语言地位是一门很好的面向对象语言,通过学习Java语言可以学习怎样使用对象来完成某些任务、掌握面向对象编程的基本思想.需求地位IT行业对Java人才的
2021-04-13 13:00:41
219
原创 数据结构 第十章内部排序
第十章 内部排序知识点掌握排序的基本概念和各种排序方法的特点,并能加以灵活应用插入排序基本思想:每步将一个待排序的对象,按其关键码大小,插入到前面已经排好序的一组对象的适当位置上,直到对象全部插入为止。即边插入边排序,保证子序列中随时都是排好序的分类直接插入排序(基于顺序查找)排序过程整个排序过程为n-1趟插入,先将序列中第1个记录看成是一个有序子序列,然后从第2个记录开始,逐个进行插入,直至整个序列有序。算法分析设对象个数为n,则执行n-1趟,比较次
2021-04-12 20:41:23
763
原创 数据结构 第九章查找
第九章 查找知识点熟练掌握顺序表和有序表(折半查找)的查找算法及其性能分析方法;顺序查找的性能分析空间复杂度:一个辅助空间。时间复杂度:查找成功时的平均查找长度设表中各记录查找概率相等ASLs(n)=(1+2+ … +n)/n =(n+1)/2查找不成功时的平均查找长度 ASLf =n+1特点算法简单,对表结构无任何要求(顺序和链式)n很大时查找效率较低改进措施:非等概率查找时,可按照查找概率进行排序。折半查找(又称二分查找或对
2021-04-12 20:40:34
943
原创 数据结构 第七章图
第七章 图知识点掌握:图的基本概念及相关术语和性质图的定义图:Graph=(V,E)V:顶点(数据元素)的有穷非空集合;E:边的有穷集合。图的分类有向图无向图网络图的相关术语邻接:有边/弧相连的两个顶点之间的关系。存在(vi, vj),则称vi和vj互为邻接点;存在<vi, vj>,则称vi邻接到vj,vj邻接于vi关联(依附):边/弧与顶点之间的关系。存在(vi, vj)/ <vi, vj>, 则称该边/弧关联于
2021-04-12 20:39:49
567
空空如也
matlab 字符串未正常终止
2020-06-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人