-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
324 lines (270 loc) · 36.5 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><title>xxl's blog - xxl's blog</title><meta name="author" content="xxl"><meta name="copyright" content="xxl"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="study with me">
<meta property="og:type" content="website">
<meta property="og:title" content="xxl's blog">
<meta property="og:url" content="http://example.com/index.html">
<meta property="og:site_name" content="xxl's blog">
<meta property="og:description" content="study with me">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="http://example.com/img/me.jpg">
<meta property="article:author" content="xxl">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="http://example.com/img/me.jpg"><link rel="shortcut icon" href="/img/favicon.png"><link rel="canonical" href="http://example.com/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: {"path":"/search.xml","languages":{"hits_empty":"找不到您查询的内容:${query}"}},
translate: undefined,
noticeOutdate: undefined,
highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
copy: {
success: '复制成功',
error: '复制错误',
noSupport: '浏览器不支持'
},
relativeDate: {
homepage: false,
post: false
},
runtime: '天',
date_suffix: {
just: '刚刚',
min: '分钟前',
hour: '小时前',
day: '天前',
month: '个月前'
},
copyright: undefined,
lightbox: 'fancybox',
Snackbar: undefined,
source: {
justifiedGallery: {
js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.js',
css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.css'
}
},
isPhotoFigcaption: false,
islazyload: false,
isAnchor: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: 'xxl\'s blog',
isPost: false,
isHome: true,
isHighlightShrink: false,
isToc: false,
postUpdate: '2023-02-16 19:41:18'
}</script><noscript><style type="text/css">
#nav {
opacity: 1
}
.justified-gallery img {
opacity: 1
}
#recent-posts time,
#post-meta time {
display: inline !important
}
</style></noscript><script>(win=>{
win.saveToLocal = {
set: function setWithExpiry(key, value, ttl) {
if (ttl === 0) return
const now = new Date()
const expiryDay = ttl * 86400000
const item = {
value: value,
expiry: now.getTime() + expiryDay,
}
localStorage.setItem(key, JSON.stringify(item))
},
get: function getWithExpiry(key) {
const itemStr = localStorage.getItem(key)
if (!itemStr) {
return undefined
}
const item = JSON.parse(itemStr)
const now = new Date()
if (now.getTime() > item.expiry) {
localStorage.removeItem(key)
return undefined
}
return item.value
}
}
win.getScript = url => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
script.onerror = reject
script.onload = script.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
script.onload = script.onreadystatechange = null
resolve()
}
document.head.appendChild(script)
})
win.activateDarkMode = function () {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
win.activateLightMode = function () {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
}
}
const t = saveToLocal.get('theme')
if (t === 'dark') activateDarkMode()
else if (t === 'light') activateLightMode()
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
if (asideStatus === 'hide') {
document.documentElement.classList.add('hide-aside')
} else {
document.documentElement.classList.remove('hide-aside')
}
}
const detectApple = () => {
if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
document.documentElement.classList.add('apple')
}
}
detectApple()
})(window)</script><meta name="generator" content="Hexo 6.3.0"></head><body><div id="web_bg"></div><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="/img/me.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">8</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">10</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">8</div></a></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间线</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background-image: url('/img/108054.jpg')"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">xxl's blog</a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search"><i class="fas fa-search fa-fw"></i><span> 搜索</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间线</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于</span></a></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">xxl's blog</h1></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="post_cover left"><a href="/post/e0de8bd7.html" title="An introduction to approximation algorithms"><img class="post_bg" src="/../images/The-bin-packing-problem/coverim.jpeg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="An introduction to approximation algorithms"></a></div><div class="recent-post-info"><a class="article-title" href="/post/e0de8bd7.html" title="An introduction to approximation algorithms">An introduction to approximation algorithms</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-02-13T05:28:31.000Z" title="发表于 2023-02-13 13:28:31">2023-02-13</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E8%BF%90%E7%AD%B9/">运筹</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/%E8%BF%90%E7%AD%B9/%E8%BF%91%E4%BC%BC%E7%AE%97%E6%B3%95/">近似算法</a></span></div><div class="content">本节取自《The Design of
Approximation-Algorithms》第一章,介绍了近似算法的一些基本定义并以\(set \quad cover\)
问题为例,使用了一些常用的技巧来设计近似算法。
专业名词
discrete optimization:离散优化
应用于安排课程、计划运输路线等一系列\(NP-hard\)问题(没有多项式时间的解)
解决\(NP-hard\)问题的方法:
限制算法是多项式时间的
放弃寻找最优解,而是去寻找足够好的解。
对于现实中复杂的问题,研究其理想化的版本。如模拟退火算法(simulated
annealing)、遗传算法(genetic algorithms)、禁忌搜索(tabu
search)
heuristics and
metaheuristics:启发式和元启发式
启发式算法
一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计。
元启发式算法
一类通用型的启发式算法,这类算法的优化机理不过分依赖于算法的组织结构信息 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/post/a3fa5835.html" title="cpp学习笔记"><img class="post_bg" src="/img/1284120.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="cpp学习笔记"></a></div><div class="recent-post-info"><a class="article-title" href="/post/a3fa5835.html" title="cpp学习笔记">cpp学习笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-01-19T22:54:11.000Z" title="发表于 2023-01-20 06:54:11">2023-01-20</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E7%BC%96%E7%A8%8B/">编程</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/%E7%BC%96%E7%A8%8B/c/">c++</a></span></div><div class="content">第一部分 C++基础知识
先来运行一下第一个程序!我使用的是macOS版本的vs
code,如果操作系统是Windows的话visual studio更方便一些!
123456789101112#include<iostream>using namespace std;int main() { cout << "Hello c++" << endl; //macos中没有这个命令,注释就可以 //system("pause"); return 0;}
和c相同的一些知识,mark一下
注释
12//单行注释/*多行注释*/
变量
123//变量声明&输出int a = 10;cout << "a = " << a << endl;
常量
作用:用于记录程序中不可更改的数据
C++定义常量两种方式
#define 宏常量: #define 常量名 常量值
==通常在文件上方定义==,表示一个常量
const修饰的变量
con ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/post/b4667801.html" title="Approximation Algorithms Week 3--Bin Packing,Linear Programming and Rounding"><img class="post_bg" src="/../images/Approximation-Algorithms-Week-1-Vertex-cover-and-Linear-Programmng/cover1.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Approximation Algorithms Week 3--Bin Packing,Linear Programming and Rounding"></a></div><div class="recent-post-info"><a class="article-title" href="/post/b4667801.html" title="Approximation Algorithms Week 3--Bin Packing,Linear Programming and Rounding">Approximation Algorithms Week 3--Bin Packing,Linear Programming and Rounding</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-01-08T18:27:29.000Z" title="发表于 2023-01-09 02:27:29">2023-01-09</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/coursera/">coursera</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/coursera/Approximation-Algorithms-Part-I/">Approximation Algorithms Part I</a></span></div><div class="content">课程来自Coursera
Bin packing problem
定义:\(𝑁\)件物品,每件物品有体积\({𝑠_𝑖}\), 不失一般性地,可以约定\({s_i}\leq1\), 有容量为\(1\)箱子,
要用尽可能少的箱子容纳所有的物品。
\(NP-hard\)问题
The Next Fit algorithm
思想:依次考虑每个物品, 如果这个物品能放入当前箱子,
就放入, 否则关闭当前箱子, 打开一个新的箱子放入这个物品。
近似比:
\(proof\):把编号相邻的箱子配对,
考虑箱子\(2i−1\)和箱子\(2i\)。我们打开了箱子\(2i\), 说明箱子\(2i−1\)里面的物品体积之和加上箱子\(2i\)里面的第一个物品的体积, 必然是大于\(1\)的,否则按照算法流程会把那个物品放入箱子\(2i−1\).
设按照Next Fit算法用了\(k\)个箱子,其中最后一个箱子的编号为\(L\)
有\(O P T \geq\left\lceil\sum_{i=1}^N
s_i\right\rceil \geq\left\lceil\sum_{i=1}^{L-1}
s ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/post/4b0b12b.html" title="Approximation Algorithms Week 2--Knapsack and Rounding"><img class="post_bg" src="/../images/Approximation-Algorithms-Week-1-Vertex-cover-and-Linear-Programmng/cover1.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Approximation Algorithms Week 2--Knapsack and Rounding"></a></div><div class="recent-post-info"><a class="article-title" href="/post/4b0b12b.html" title="Approximation Algorithms Week 2--Knapsack and Rounding">Approximation Algorithms Week 2--Knapsack and Rounding</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-01-08T08:38:36.000Z" title="发表于 2023-01-08 16:38:36">2023-01-08</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/coursera/">coursera</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/coursera/Approximation-Algorithms-Part-I/">Approximation Algorithms Part I</a></span></div><div class="content">课程来自Coursera
The Knapsack Problem
Problem Dedinition
\(𝑁\)件物品,每件物品有一个体积\({𝑠_𝑖}\)和价值\({v_i}\), 现在有一个容量是\(𝐵\)的背包,要选一些物品装进背包,使得价值之和最大。约定不会有体积超过背包容积的物体。
背包问题是\(NP-Hard\)问题
Naive greedy algorithmm
思想:由于希望总体积更小,总价值更大。计算每件物品的\(\frac{\mathbf{s}_{\mathbf{i}}}{\mathbf{v}_{\mathbf{i}}}\),从小到大排列依次放入背包。
评价:
special case
1:物品体积与价值相等
a greedy algorithm
思想:将物品按价值降序排列,依次放入背包。
近似比证明:该算法的近似比为2
\(proof\):已知任意物品的体积都小于背包,则最终背包中至少包含一件物品。令最终放入背包的物品总体积为\(v\),第一件放不进背包的物品体积为\(v_i\),显然\(v +
v_i \geq B\)。又因为该算法事先 ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/post/d8762d8c.html" title="Approximation Algorithms Week 1--Vertex cover and Linear Programmng"><img class="post_bg" src="/../images/Approximation-Algorithms-Week-1-Vertex-cover-and-Linear-Programmng/cover1.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Approximation Algorithms Week 1--Vertex cover and Linear Programmng"></a></div><div class="recent-post-info"><a class="article-title" href="/post/d8762d8c.html" title="Approximation Algorithms Week 1--Vertex cover and Linear Programmng">Approximation Algorithms Week 1--Vertex cover and Linear Programmng</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-01-07T07:16:37.000Z" title="发表于 2023-01-07 15:16:37">2023-01-07</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/coursera/">coursera</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/coursera/Approximation-Algorithms-Part-I/">Approximation Algorithms Part I</a></span></div><div class="content">课程来自Coursera
前置知识
关于组合优化问题
应用于安排课程、计划运输路线等一系列\(NP-hard\)问题(没有多项式时间的解)
解决\(NP-hard\)问题的方法:
限制算法是多项式时间的
放弃寻找最优解,而是去寻找足够好的解。
对于现实中复杂的问题,研究其理想化的版本。
P问题、NP问题、NPC问题
多项式时间(polynomial
time):可用多项式表示的时间复杂度,如\(O(1)\)、\(O(\log
N)\)、\(O(N^2)\)
约化(Reducibility):问题\(A\)可以约化为问题\(B\),即用问题\(B\)的方法解决问题\(A\),此约化是多项式的。例:用求解一元一次方程的方法约化为求解一元二次方程的方法。
\(P\)问题:一类可在多项式时间内解决的问题的集合。
\(NP\)问题:一类问题,此类问题可在多项式时间内验证。
\(NP-Complete\)问题:一类问题\(X\),任意\(NP\)问题\(Y\)都可以在多项式式时间内约化为问题\(X\)。
证明一个问题是\(NPC\)问题:
此问题为\(NP\)问题
一个已知的\(NP ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/post/c75b23f2.html" title="The bin-packing problem"><img class="post_bg" src="/../images/The-bin-packing-problem/coverim.jpeg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="The bin-packing problem"></a></div><div class="recent-post-info"><a class="article-title" href="/post/c75b23f2.html" title="The bin-packing problem">The bin-packing problem</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-01-07T06:12:23.000Z" title="发表于 2023-01-07 14:12:23">2023-01-07</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E8%BF%90%E7%AD%B9/">运筹</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/%E8%BF%90%E7%AD%B9/%E8%BF%91%E4%BC%BC%E7%AE%97%E6%B3%95/">近似算法</a></span></div><div class="content">本节取自《The Design of Approximation-Algorithms》3.3
The bin-packing problem
定义
\(n\)件物品,每件物品有体积\({a_𝑖}\), ,约定\(0<{a_1} \leq {a_2}...\leq {a_n}<1\),
有容量为\(1\)箱子,
要用尽可能少的箱子容纳所有的物品。
\(proof
1\).证明Binpacking问题的Decision
version是NP-complete。
思想:将已知是\(NPC\)问题的Partition
Problem约化到Binpacking问题
Decision version of Binpacking: 给出\(K\)个背包, 问能不能装下所有物品。
证明:构造一个Binpacking问题的instance: \[
K=2, s_i=\frac{2 a_i}{\sum_{i=1}^n a_i}
\] 一个Partition相当于得到将这些物品装入2个箱子的解
\(proof
2\).证明Binpacking不存在\(𝛼−𝑎𝑝𝑝𝑟� ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/post/298cb32d.html" title="动态网页爬取"><img class="post_bg" src="/../images/%E5%8A%A8%E6%80%81%E7%BD%91%E9%A1%B5%E7%88%AC%E5%8F%96/python.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="动态网页爬取"></a></div><div class="recent-post-info"><a class="article-title" href="/post/298cb32d.html" title="动态网页爬取">动态网页爬取</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2022-12-06T16:14:15.000Z" title="发表于 2022-12-07 00:14:15">2022-12-07</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E7%BC%96%E7%A8%8B/">编程</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/%E7%BC%96%E7%A8%8B/python/">python</a></span></div><div class="content">静态网页与动态网页的区别
URL是什么?
http://www.php.cn/article.html
此链接叫做URL,统一资源定位符,全球性地址,用于定位网上的资源。
静态网页
静态网页每个网页中都有一个固定的URL,网页URL以htm、HTML、shtml等常见形式为后缀,而且不含有问号
网页内容一经发布到网页服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的。也就是说静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件,内容相对稳定,交互性较差;
动态网页以数据库技术为基础,可以大大降低网站维护的工作量,采用动态网页技术的网站,可以实现更多的功能,如用户注册,用户登录,在线调查等;
动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时,服务器才会返回一个完整的网页,动态网页的问号对搜索引擎检索存在一定的问题,因此使用动态的网站使用搜索引擎时需要一定的技术才能适应搜索引擎的要求;
查看浏览器执行JavaScript之后生成的HTML源码。(F12或者打开开发者工具)
网页中搜索的快捷键(command+f)
逆向分析爬取动 ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/post/6cb5a254.html" title="java学习笔记"><img class="post_bg" src="/../images/java%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/java.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="java学习笔记"></a></div><div class="recent-post-info"><a class="article-title" href="/post/6cb5a254.html" title="java学习笔记">java学习笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2022-12-06T09:00:50.000Z" title="发表于 2022-12-06 17:00:50">2022-12-06</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E7%BC%96%E7%A8%8B/">编程</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="/categories/%E7%BC%96%E7%A8%8B/java/">java</a></span></div><div class="content">第一章 Java概述
Java语言的特点
强类型语言;没有指针;没有多重继承机制;自动无用内存回收机制(相比于C++,需要释放空间)
面向对象
跨平台 JVM(Java虚拟机,用来执行类文件,c++是不跨平台的)
解释编译两种运行方式(c++是编译型语言)
开发环境的搭建
JVM、JRE、JDK
在命令行输入 javac命令进行测试
Java程序示例开发流程
文件名和public类的名字相同
public static void main(String [] args){} 主方法/函数
javac HelloWorld.java
运行程序文件.java得到一个字节码文件.class(在虚拟机中运行)javac.exe是编译器
java HellloWorld Java.exe是解释器
Java运行的是与机器无关的二进制格式的类文件
OOP三大技术
封装
将对象的属性和实现细节隐藏起来,只给出如何使用这些信息。将数据(对象)及对数据的操作(方法)捆绑在一起称为类。
继承
将一个已有类中的数据和方法保留,并加上自己特殊的数据和方法,从而构成一个新类。父类、子类。
多态
在一 ...</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="/img/me.jpg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">xxl</div><div class="author-info__description">study with me</div></div><div class="card-info-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">8</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">10</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">8</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/Xiaxlll"><i class="fab fa-github"></i><span>Follow Me</span></a></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>公告</span></div><div class="announcement_content">This is my Blog</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/post/e0de8bd7.html" title="An introduction to approximation algorithms"><img src="/../images/The-bin-packing-problem/coverim.jpeg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="An introduction to approximation algorithms"/></a><div class="content"><a class="title" href="/post/e0de8bd7.html" title="An introduction to approximation algorithms">An introduction to approximation algorithms</a><time datetime="2023-02-13T05:28:31.000Z" title="发表于 2023-02-13 13:28:31">2023-02-13</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/post/a3fa5835.html" title="cpp学习笔记"><img src="/img/1284120.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="cpp学习笔记"/></a><div class="content"><a class="title" href="/post/a3fa5835.html" title="cpp学习笔记">cpp学习笔记</a><time datetime="2023-01-19T22:54:11.000Z" title="发表于 2023-01-20 06:54:11">2023-01-20</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/post/b4667801.html" title="Approximation Algorithms Week 3--Bin Packing,Linear Programming and Rounding"><img src="/../images/Approximation-Algorithms-Week-1-Vertex-cover-and-Linear-Programmng/cover1.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Approximation Algorithms Week 3--Bin Packing,Linear Programming and Rounding"/></a><div class="content"><a class="title" href="/post/b4667801.html" title="Approximation Algorithms Week 3--Bin Packing,Linear Programming and Rounding">Approximation Algorithms Week 3--Bin Packing,Linear Programming and Rounding</a><time datetime="2023-01-08T18:27:29.000Z" title="发表于 2023-01-09 02:27:29">2023-01-09</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/post/4b0b12b.html" title="Approximation Algorithms Week 2--Knapsack and Rounding"><img src="/../images/Approximation-Algorithms-Week-1-Vertex-cover-and-Linear-Programmng/cover1.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Approximation Algorithms Week 2--Knapsack and Rounding"/></a><div class="content"><a class="title" href="/post/4b0b12b.html" title="Approximation Algorithms Week 2--Knapsack and Rounding">Approximation Algorithms Week 2--Knapsack and Rounding</a><time datetime="2023-01-08T08:38:36.000Z" title="发表于 2023-01-08 16:38:36">2023-01-08</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/post/d8762d8c.html" title="Approximation Algorithms Week 1--Vertex cover and Linear Programmng"><img src="/../images/Approximation-Algorithms-Week-1-Vertex-cover-and-Linear-Programmng/cover1.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Approximation Algorithms Week 1--Vertex cover and Linear Programmng"/></a><div class="content"><a class="title" href="/post/d8762d8c.html" title="Approximation Algorithms Week 1--Vertex cover and Linear Programmng">Approximation Algorithms Week 1--Vertex cover and Linear Programmng</a><time datetime="2023-01-07T07:16:37.000Z" title="发表于 2023-01-07 15:16:37">2023-01-07</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
<i class="fas fa-folder-open"></i>
<span>分类</span>
</div>
<ul class="card-category-list" id="aside-cat-list">
<li class="card-category-list-item "><a class="card-category-list-link" href="/categories/coursera/"><span class="card-category-list-name">coursera</span><span class="card-category-list-count">3</span></a><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/coursera/Approximation-Algorithms-Part-I/"><span class="card-category-list-name">Approximation Algorithms Part I</span><span class="card-category-list-count">3</span></a></li></ul></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E7%BC%96%E7%A8%8B/"><span class="card-category-list-name">编程</span><span class="card-category-list-count">3</span></a><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E7%BC%96%E7%A8%8B/c/"><span class="card-category-list-name">c++</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E7%BC%96%E7%A8%8B/java/"><span class="card-category-list-name">java</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E7%BC%96%E7%A8%8B/python/"><span class="card-category-list-name">python</span><span class="card-category-list-count">1</span></a></li></ul></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E8%BF%90%E7%AD%B9/"><span class="card-category-list-name">运筹</span><span class="card-category-list-count">2</span></a><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E8%BF%90%E7%AD%B9/%E8%BF%91%E4%BC%BC%E7%AE%97%E6%B3%95/"><span class="card-category-list-name">近似算法</span><span class="card-category-list-count">2</span></a></li></ul></li>
</ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/tags/Bin-Packing/" style="font-size: 1.3em; color: #99a1ac">Bin-Packing</a> <a href="/tags/Knapsack/" style="font-size: 1.1em; color: #999">Knapsack</a> <a href="/tags/Linear-Programmng/" style="font-size: 1.1em; color: #999">Linear Programmng</a> <a href="/tags/Vertex-cover/" style="font-size: 1.1em; color: #999">Vertex cover</a> <a href="/tags/c-%E5%85%A5%E9%97%A8/" style="font-size: 1.1em; color: #999">c++入门</a> <a href="/tags/java%E5%85%A5%E9%97%A8/" style="font-size: 1.1em; color: #999">java入门</a> <a href="/tags/python/" style="font-size: 1.1em; color: #999">python</a> <a href="/tags/%E7%88%AC%E8%99%AB/" style="font-size: 1.1em; color: #999">爬虫</a> <a href="/tags/%E7%BC%96%E7%A8%8B/" style="font-size: 1.3em; color: #99a1ac">编程</a> <a href="/tags/%E8%BF%91%E4%BC%BC%E7%AE%97%E6%B3%95/" style="font-size: 1.5em; color: #99a9bf">近似算法</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>归档</span></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/02/"><span class="card-archive-list-date">二月 2023</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/01/"><span class="card-archive-list-date">一月 2023</span><span class="card-archive-list-count">5</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2022/12/"><span class="card-archive-list-date">十二月 2022</span><span class="card-archive-list-count">2</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站资讯</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">8</div></div><div class="webinfo-item"><div class="item-name">已运行时间 :</div><div class="item-count" id="runtimeshow" data-publishDate="2022-10-11T16:00:00.000Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">本站访客数 :</div><div class="item-count" id="busuanzi_value_site_uv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">本站总访问量 :</div><div class="item-count" id="busuanzi_value_site_pv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2023-02-16T11:41:18.195Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">©2020 - 2023 By xxl</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="回到顶部"><i class="fas fa-arrow-up"></i></button></div></div><div id="local-search"><div class="search-dialog"><nav class="search-nav"><span class="search-dialog-title">搜索</span><span id="loading-status"></span><button class="search-close-button"><i class="fas fa-times"></i></button></nav><div class="is-center" id="loading-database"><i class="fas fa-spinner fa-pulse"></i><span> 数据库加载中</span></div><div class="search-wrap"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="搜索文章" type="text"/></div></div><hr/><div id="local-search-results"></div></div></div><div id="search-mask"></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.umd.min.js"></script><script src="/js/search/local-search.js"></script><div class="js-pjax"></div><canvas class="fireworks" mobile="false"></canvas><script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/fireworks.min.js"></script><script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/activate-power-mode.min.js"></script><script>POWERMODE.colorful = true;
POWERMODE.shake = true;
POWERMODE.mobile = false;
document.body.addEventListener('input', POWERMODE);
</script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>