-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
495 lines (434 loc) · 51.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
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
<!DOCTYPE html><html lang="zh-TW" data-theme="dark"><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>ShiYu Blog - Programming learning website</title><meta name="author" content="ShiYu Huang"><meta name="copyright" content="ShiYu Huang"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#0d0d0d"><meta property="og:type" content="website">
<meta property="og:title" content="ShiYu Blog">
<meta property="og:url" content="https://4yu.dev/">
<meta property="og:site_name" content="ShiYu Blog">
<meta property="og:locale" content="zh_TW">
<meta property="og:image" content="https://4yu.dev/img/avatar.webp">
<meta property="article:author" content="ShiYu Huang">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://4yu.dev/img/avatar.webp"><link rel="shortcut icon" href="/img/shiyu's-blog.webp"><link rel="canonical" href="https://4yu.dev/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//www.google-analytics.com" crossorigin=""/><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/node-snackbar/dist/snackbar.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 async="async" src="https://www.googletagmanager.com/gtag/js?id=6506400853"></script><script>window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '6506400853');
</script><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: undefined,
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: {"limitCount":50,"languages":{"author":"作者: ShiYu Huang","link":"連結: ","source":"來源: ShiYu Blog","info":"著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。"}},
lightbox: 'fancybox',
Snackbar: {"chs_to_cht":"你已切換為繁體","cht_to_chs":"你已切換為簡體","day_to_night":"你已切換為深色模式","night_to_day":"你已切換為淺色模式","bgLight":"#101084","bgDark":"#222297","position":"bottom-center"},
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: 'ShiYu Blog',
isPost: false,
isHome: true,
isHighlightShrink: false,
isToc: false,
postUpdate: '2025-02-03 13:09:44'
}</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><style type="text/css">#toggle-sidebar {bottom: 80px}</style><link rel="stylesheet" href="/css/corner-indicator.css?v1"><meta name="generator" content="Hexo 6.3.0"></head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="/img/avatar.webp" onerror="onerror=null;src='/img/loading.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">53</div></a><a href="categories/"><div class="headline">分類</div><div class="length-num">6</div></a></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="https://4yu.dev/"><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-file-lines"></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="/link/"><i class="fa-fw fas fa-link"></i><span> 連結</span></a></div><div class="menus_item"><a class="site-page" href="/music/"><i class="fa-fw fa-solid fa-headphones"></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/top_img.webp')"><nav id="nav"><span id="blog_name"><a id="site-name" href="https://4yu.dev/">ShiYu Blog</a></span><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page" href="https://4yu.dev/"><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-file-lines"></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="/link/"><i class="fa-fw fas fa-link"></i><span> 連結</span></a></div><div class="menus_item"><a class="site-page" href="/music/"><i class="fa-fw fa-solid fa-headphones"></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">ShiYu Blog</h1><div id="site-subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://www.instagram.com/sy._318" rel="external nofollow noreferrer" target="_blank" title="Instagram"><i class="fab fa-instagram"></i></a><a class="social-icon" href="https://www.discordapp.com/users/872320690160795689" rel="external nofollow noreferrer" target="_blank" title="Discord"><i class="fa-brands fa-discord"></i></a><a class="social-icon" href="https://www.facebook.com/profile.php?id=100016086581218&mibextid=LQQJ4d" rel="external nofollow noreferrer" target="_blank" title="facebook"><i class="fa-brands fa-facebook"></i></a></div></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/Sort-Algorithm/" title="排序演算法 Sort Algorithm (C++)"><img class="post_bg" src="/img/Sort_cover.webp" onerror="this.onerror=null;this.src='/img/loading.gif'" alt="排序演算法 Sort Algorithm (C++)"></a></div><div class="recent-post-info"><a class="article-title" href="post/Sort-Algorithm/" title="排序演算法 Sort Algorithm (C++)">排序演算法 Sort Algorithm (C++)</a><div class="article-meta-wrap"><span class="article-meta"><i class="fas fa-thumbtack sticky"></i><span class="sticky">置頂</span><span class="article-meta-separator">|</span></span><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">發表於</span><time datetime="2023-02-25T00:00:00.000Z" title="發表於 2023-02-25 00:00:00">2023-02-25</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%AD%86%E8%A8%98/">筆記</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="categories/%E7%AD%86%E8%A8%98/%E7%A8%8B%E5%BC%8F/">程式</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="tags/%E5%AF%A6%E4%BD%9C/">實作</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/C/">C++</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E6%99%82%E9%96%93-%E7%A9%BA%E9%96%93%E8%A4%87%E9%9B%9C%E5%BA%A6/">時間 & 空間複雜度</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E6%8E%92%E5%BA%8F%E6%BC%94%E7%AE%97%E6%B3%95-Sort-Algorithm/">排序演算法 Sort Algorithm</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E6%B0%A3%E6%B3%A1%E6%8E%92%E5%BA%8F-Bubble-Sort/">氣泡排序 Bubble Sort</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E9%81%B8%E6%93%87%E6%8E%92%E5%BA%8F-Selection-Sort/">選擇排序 Selection Sort</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F-Insertion-Sort/">插入排序 Insertion Sort</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E5%90%88%E4%BD%B5%E6%8E%92%E5%BA%8F-Merge-Sort/">合併排序 Merge Sort</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F-Quick-Sort/">快速排序 Quick Sort</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E5%A0%86%E7%A9%8D%E6%8E%92%E5%BA%8F-Heap-Sort/">堆積排序 Heap Sort</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E5%B8%8C%E7%88%BE%E6%8E%92%E5%BA%8F-Shell-Sort/">希爾排序 Shell Sort</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E8%A8%88%E6%95%B8%E6%8E%92%E5%BA%8F-Counting-Sort/">計數排序 Counting Sort</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E6%A1%B6%E6%8E%92%E5%BA%8F-Bucket-Sort/">桶排序 Bucket Sort</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E5%9F%BA%E6%95%B8%E6%8E%92%E5%BA%8F-Radix-Sort/">基數排序 Radix Sort</a></span></div><div class="content">現今社會,資料量不斷地增加,因此排序演算法的重要性日益提升,從大數據排序到網路搜尋引擎排序,排序演算法在我們日常生活中扮演了重要的角色。
本文將介紹10種常見的排序演算法,來和我一起學習掌握排序演算法的原理及實作過程吧!
本文架構
線性排序演算法種類
氣泡排序 Bubble Sort
選擇排序 Selection Sort
插入排序 Insertion Sort
快速排序 Quick Sort
合併排序 Merge Sort
堆排序 Heap Sort
希爾排序 Shell Sort
計數排序 Counting Sort
桶排序 Bucket Sort
基數排序 Radix Sort
每個排序演算法的內容
排序介紹
動畫演示
實作步驟
C++程式碼
注意事項
時間複雜度
總結
測試模板
下文介紹的 10 種排序演算法都會附上寫好的函式 這裡提供測試模版 在區域中加上各種排序演算法函式即可運作 可 EOF 輸入
123456789101112131415161718192021222324252627#include <bits/stdc++.h>using nam ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="post/STL/" title="C++ STL 全"><img class="post_bg" src="/img/data_structure_basic.webp" onerror="this.onerror=null;this.src='/img/loading.gif'" alt="C++ STL 全"></a></div><div class="recent-post-info"><a class="article-title" href="post/STL/" title="C++ STL 全">C++ STL 全</a><div class="article-meta-wrap"><span class="article-meta"><i class="fas fa-thumbtack sticky"></i><span class="sticky">置頂</span><span class="article-meta-separator">|</span></span><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">發表於</span><time datetime="2023-12-31T00:00:00.000Z" title="發表於 2023-12-31 00:00:00">2023-12-31</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%AD%86%E8%A8%98/">筆記</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="categories/%E7%AD%86%E8%A8%98/%E7%A8%8B%E5%BC%8F/">程式</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="tags/C/">C++</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E8%B3%87%E6%96%99%E7%B5%90%E6%A7%8B-Data-Structures/">資料結構 Data Structures</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E5%8B%95%E6%85%8B%E9%99%A3%E5%88%97-vector/">動態陣列 vector</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E5%AD%97%E4%B8%B2-string/">字串 string</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E6%95%B8%E5%B0%8D-pair/">數對 pair</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E6%95%B8%E7%B5%84-tuple/">數組 tuple</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E5%A0%86%E7%96%8A-stack/">堆疊 stack</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E4%BD%87%E5%88%97-queue/">佇列 queue</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E9%9B%99%E7%AB%AF%E4%BD%87%E5%88%97-deque/">雙端佇列 deque</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E5%84%AA%E5%85%88%E4%BD%87%E5%88%97-ptiority-queue/">優先佇列 ptiority_queue</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E9%9B%86%E5%90%88-set/">集合 set</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E6%98%A0%E5%B0%84-map/">映射 map</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E5%A4%9A%E9%87%8D%E9%9B%86%E5%90%88-multiset/">多重集合 multiset</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E5%A4%9A%E9%87%8D%E6%98%A0%E5%B0%84-multimap/">多重映射 multimap</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E7%84%A1%E5%BA%8F%E9%9B%86%E5%90%88-unordered-set/">無序集合 unordered_set</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E7%84%A1%E5%BA%8F%E6%98%A0%E5%B0%84-unordered-map/">無序映射 unordered_map</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/bitset/">bitset</a></span></div><div class="content">Intro
學完 C++ 基礎語法之後,接著就該進入資料結構的世界了!
本篇筆記要介紹的是 C++ STL,彙整了許多基礎資料結構的概念與用法,文章內容較多,部分內容為收集資料擷取後並經過修改整理而成,文章內容若有任何錯誤或需要補充的地方都歡迎使用右側聊天室傳送訊息給我,我將會儘速修改,謝謝
先備知識
標準模板庫(Standard Template Library),簡稱 STL 為 C++ 內建的函式庫
為了應對各種資料型態,因此採用 模板 template 來實作,分為六大部分:
容器 Containers
演算法 Algotithm
迭代器 Iterator
適配器 Adaptor
仿函數 Function object
空間配置器 allocator
本篇文章內容著重於前四大部分
符號解釋
對於本篇文章中各種符號的解釋
C:某種容器(container)
T:某種資料型態(type)
S:長度(size)
i:索引(index)
val:值(value)
K:鍵值(key)
it:迭代器(iterator)
迭代器(iterator)
C++ STL 為每個容器提供 ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="post/SCIST-Winter-Camp-2025/" title="SCIST x 南 15 校資訊社 2025 聯合寒訓 - 資深玩家 籌辦心得"><img class="post_bg" src="/img/loading.gif" onerror="this.onerror=null;this.src='/img/loading.gif'" alt="SCIST x 南 15 校資訊社 2025 聯合寒訓 - 資深玩家 籌辦心得"></a></div><div class="recent-post-info"><a class="article-title" href="post/SCIST-Winter-Camp-2025/" title="SCIST x 南 15 校資訊社 2025 聯合寒訓 - 資深玩家 籌辦心得">SCIST x 南 15 校資訊社 2025 聯合寒訓 - 資深玩家 籌辦心得</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="2025-01-26T00:00:00.000Z" title="發表於 2025-01-26 00:00:00">2025-01-26</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/%E5%BF%83%E5%BE%97/">心得</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="categories/%E5%BF%83%E5%BE%97/%E7%87%9F%E9%9A%8A/">營隊</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="tags/%E7%87%9F%E9%9A%8A/">營隊</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E8%B3%87%E8%A8%8A%E7%A4%BE/">資訊社</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/SCIST/">SCIST</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E5%AF%92%E8%A8%93/">寒訓</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E5%8D%97-15-%E6%A0%A1/">南 15 校</a></span></div><div class="content">待更新
</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="post/CSIE/" title="資訊工程學系特殊選材心得彙整 - (4yu) 114 級"><img class="post_bg" src="/img/loading.gif" onerror="this.onerror=null;this.src='/img/loading.gif'" alt="資訊工程學系特殊選材心得彙整 - (4yu) 114 級"></a></div><div class="recent-post-info"><a class="article-title" href="post/CSIE/" title="資訊工程學系特殊選材心得彙整 - (4yu) 114 級">資訊工程學系特殊選材心得彙整 - (4yu) 114 級</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="2024-12-31T00:00:00.000Z" title="發表於 2024-12-31 00:00:00">2024-12-31</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/%E5%BF%83%E5%BE%97/">心得</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="tags/%E8%B3%87%E8%A8%8A%E5%B7%A5%E7%A8%8B%E5%AD%B8%E7%B3%BB/">資訊工程學系</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E7%89%B9%E6%AE%8A%E9%81%B8%E6%9D%90/">特殊選材</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E4%B8%AD%E5%A4%AE%E5%A4%A7%E5%AD%B8/">中央大學</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E4%B8%AD%E5%B1%B1%E5%A4%A7%E5%AD%B8/">中山大學</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E4%B8%AD%E8%88%88%E5%A4%A7%E5%AD%B8/">中興大學</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E8%87%BA%E7%81%A3%E5%B8%AB%E7%AF%84%E5%A4%A7%E5%AD%B8/">臺灣師範大學</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E6%B8%85%E8%8F%AF%E5%A4%A7%E5%AD%B8/">清華大學</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E6%88%90%E5%8A%9F%E5%A4%A7%E5%AD%B8/">成功大學</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E6%B5%B7%E6%B4%8B%E5%A4%A7%E5%AD%B8/">海洋大學</a></span></div><div class="content">待更新
</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="post/NFIRC/" title="NFIRC 南附資研社 - 從零開始的社團經營之路"><img class="post_bg" src="/img/NFIRC%20%E6%A9%AB.webp" onerror="this.onerror=null;this.src='/img/loading.gif'" alt="NFIRC 南附資研社 - 從零開始的社團經營之路"></a></div><div class="recent-post-info"><a class="article-title" href="post/NFIRC/" title="NFIRC 南附資研社 - 從零開始的社團經營之路">NFIRC 南附資研社 - 從零開始的社團經營之路</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="2024-06-01T00:00:00.000Z" title="發表於 2024-06-01 00:00:00">2024-06-01</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/%E5%BF%83%E5%BE%97/">心得</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="categories/%E5%BF%83%E5%BE%97/%E7%A4%BE%E5%9C%98/">社團</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="tags/%E5%8D%97%E9%99%84%E8%B3%87%E7%A0%94%E7%A4%BE/">南附資研社</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/NFIRC-1st/">NFIRC 1st</a></span></div><div class="content">創社計畫
創社歷程、成果、心得與反思
撰寫中 …
第一屆年報
點擊回到導覽頁面
</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="post/Winter-Camp-2024/" title="南九校資訊社 x 成大資工 x SCIST 2024 聯合寒訓 - 資得其樂 籌辦心得"><img class="post_bg" src="/img/wintercamp2024.webp" onerror="this.onerror=null;this.src='/img/loading.gif'" alt="南九校資訊社 x 成大資工 x SCIST 2024 聯合寒訓 - 資得其樂 籌辦心得"></a></div><div class="recent-post-info"><a class="article-title" href="post/Winter-Camp-2024/" title="南九校資訊社 x 成大資工 x SCIST 2024 聯合寒訓 - 資得其樂 籌辦心得">南九校資訊社 x 成大資工 x SCIST 2024 聯合寒訓 - 資得其樂 籌辦心得</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="2024-02-08T00:00:00.000Z" title="發表於 2024-02-08 00:00:00">2024-02-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/%E5%BF%83%E5%BE%97/">心得</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="categories/%E5%BF%83%E5%BE%97/%E7%87%9F%E9%9A%8A/">營隊</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="tags/%E7%87%9F%E9%9A%8A/">營隊</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E8%B3%87%E8%A8%8A%E7%A4%BE/">資訊社</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E6%88%90%E5%A4%A7%E8%B3%87%E5%B7%A5/">成大資工</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/SCIST/">SCIST</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E5%AF%92%E8%A8%93/">寒訓</a></span></div><div class="content">寒訓詳細資訊
引言
在 2023/11/25 這次的寒訓總召 碗蒸 私訊我問說要不要一起辦寒訓,但其實我們南附資研在 2023/11/13 幹部線上開會時就有討論到說寒假要辦營隊,本來沒想說要辦那麼大規模的寒訓,那時的規劃主要是開放給校內的所有學生和老師,大概會舉辦講座提供給校內對資訊領域有興趣的人,且主題訂為資訊領域的多元課程。
後來思考過後決定接下本次寒訓副召,一開始的召群有南女的總召 碗蒸、一中的副召 KCC 還有我,加上 Fishhh、Eason 和 Curious 這三位 SCIST S4 的總召們協助,還有小白的加入也讓我們日後籌備更順利。
籌備階段
我們是先開了線上會議,確認好活動目的與受眾,排好 Deadline 後才開始籌備,一開始是要先招募工作人員,因為有茶碗蒸這個 SCIST 文書在,所以各種表單很快就做好了,而且他也有之前辦茶會迎新的經驗,所以初期還挺順利的,也在一開始就把各校的邀請訊息發出去了,最後是找到了 9 間學校聯合主辦,而 SCIST 則是掛協辦,提供我們講師助教等課程上的資源,我們也開始著手撰寫計劃書、排時間表、預估經費、詢問場地租借…等。在計劃 ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="post/Neural-Network/" title="訓練神經網路計算過程"><img class="post_bg" src="/img/AI-computer.webp" onerror="this.onerror=null;this.src='/img/loading.gif'" alt="訓練神經網路計算過程"></a></div><div class="recent-post-info"><a class="article-title" href="post/Neural-Network/" 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="2023-12-23T00:00:00.000Z" title="發表於 2023-12-23 00:00:00">2023-12-23</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%AD%86%E8%A8%98/">筆記</a><i class="fas fa-angle-right article-meta-link"></i><a class="article-meta__categories" href="categories/%E7%AD%86%E8%A8%98/AI-%E4%BA%BA%E5%B7%A5%E6%99%BA%E6%85%A7/">AI 人工智慧</a></span><span class="article-meta tags"><span class="article-meta-separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="tags/AI-%E4%BA%BA%E5%B7%A5%E6%99%BA%E6%85%A7/">AI 人工智慧</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E7%A5%9E%E7%B6%93%E7%B6%B2%E8%B7%AF-Neural-Network/">神經網路 Neural Network</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D%E6%BC%94%E7%AE%97%E6%B3%95/">梯度下降演算法</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E6%90%8D%E5%A4%B1%E5%87%BD%E6%95%B8-Loss-func/">損失函數 Loss func</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E7%9F%A9%E9%99%A3-Matrix/">矩陣 Matrix</a><span class="article-meta-link">•</span><a class="article-meta__tags" href="tags/%E6%BF%80%E6%B4%BB%E5%87%BD%E6%95%B8/">激活函數</a></span></div><div class="content">這是一個具有一層隱藏層的神經網路:
假設
輸入層有 3 個節點,輸入 X 中有 3 筆數據,其標籤為 Y:
X=[1202−32−1−13],Y=[12−3] X =
\begin{bmatrix}
1 & 2 & 0 \\
2 & -3 & 2 \\
-1 & -1 & 3 \\
\end{bmatrix},
Y =
\begin{bmatrix}
1 \\
2 \\
-3 \\
\end{bmatrix}
X=12−12−3−1023,Y=12−3
W1=[−10−111−1] W_1 =
\begin{bmatrix}
-1 & 0 \\
-1 & 1 \\
1 &am ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="post/Hello-World/" title="Hello, World."><img class="post_bg" src="/img/shiyu's-blog.webp" onerror="this.onerror=null;this.src='/img/loading.gif'" alt="Hello, World."></a></div><div class="recent-post-info"><a class="article-title" href="post/Hello-World/" title="Hello, World.">Hello, World.</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-01T00:00:00.000Z" title="發表於 2022-12-01 00:00:00">2022-12-01</time></span></div><div class="content">歡迎來到士育的部落格!
網頁介紹
此網頁使用了 Hexo靜態網頁框架
部署在 Github pages 上
我使用的 Theme 主題是 Butterfly
網頁用途
這裡是我的程式筆記網頁
內容包括我所學到的 資料結構 演算法
不會有程式語言基礎語法 因為網路上資源多且詳細
筆記中的內容或許會有小錯誤或不完整 所以我會不斷的更新修改
我也會不定期的發佈 程式解題 知識筆記 還有各種心得紀錄 …
有興趣的人可以參閱其他文章或到上方其他頁面看看
如果你對文章有任何想法或建議 歡迎在文章下方評論區登入 Github 帳號 留下你的看法
或是可以直接使用右側中間的 線上聊天室功能 傳訊息給我 我會盡快回覆你的訊息
若你想開始學程式 請到上方 link 連結 的頁面 我有放許多資源可以提供你學習
提供的資源涵蓋 各種程式語言的基礎語法 以及各種程式相關平台 工具…
以及各個程式社群的 Discord 伺服器
希望能對你有所幫助 !
網址
1https://4yu.dev
點擊回到導覽頁面
</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/avatar.webp" onerror="this.onerror=null;this.src='/img/loading.gif'" alt="avatar"/></div><div class="author-info__name">ShiYu Huang</div><div class="author-info__description"></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">53</div></a><a href="categories/"><div class="headline">分類</div><div class="length-num">6</div></a></div><a id="card-info-btn" target="_blank" rel="noopener external nofollow noreferrer" href="https://github.com/ShiYu0318"><i class="fab fa-github"></i><span>Follow My Github</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://www.instagram.com/sy._318" rel="external nofollow noreferrer" target="_blank" title="Instagram"><i class="fab fa-instagram"></i></a><a class="social-icon" href="https://www.discordapp.com/users/872320690160795689" rel="external nofollow noreferrer" target="_blank" title="Discord"><i class="fa-brands fa-discord"></i></a><a class="social-icon" href="https://www.facebook.com/profile.php?id=100016086581218&mibextid=LQQJ4d" rel="external nofollow noreferrer" target="_blank" title="facebook"><i class="fa-brands fa-facebook"></i></a></div></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">建議使用電腦版網頁瀏覽器瀏覽此網頁,才能獲得最佳體驗,且本網頁含大量圖片,請耐心等待加載,謝謝!</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/SCIST-Winter-Camp-2025/" title="SCIST x 南 15 校資訊社 2025 聯合寒訓 - 資深玩家 籌辦心得"><img src="/img/loading.gif" onerror="this.onerror=null;this.src='/img/loading.gif'" alt="SCIST x 南 15 校資訊社 2025 聯合寒訓 - 資深玩家 籌辦心得"/></a><div class="content"><a class="title" href="post/SCIST-Winter-Camp-2025/" title="SCIST x 南 15 校資訊社 2025 聯合寒訓 - 資深玩家 籌辦心得">SCIST x 南 15 校資訊社 2025 聯合寒訓 - 資深玩家 籌辦心得</a><time datetime="2025-01-26T00:00:00.000Z" title="發表於 2025-01-26 00:00:00">2025-01-26</time></div></div><div class="aside-list-item"><a class="thumbnail" href="post/CSIE/" title="資訊工程學系特殊選材心得彙整 - (4yu) 114 級"><img src="/img/loading.gif" onerror="this.onerror=null;this.src='/img/loading.gif'" alt="資訊工程學系特殊選材心得彙整 - (4yu) 114 級"/></a><div class="content"><a class="title" href="post/CSIE/" title="資訊工程學系特殊選材心得彙整 - (4yu) 114 級">資訊工程學系特殊選材心得彙整 - (4yu) 114 級</a><time datetime="2024-12-31T00:00:00.000Z" title="發表於 2024-12-31 00:00:00">2024-12-31</time></div></div><div class="aside-list-item"><a class="thumbnail" href="post/NFIRC/" title="NFIRC 南附資研社 - 從零開始的社團經營之路"><img src="/img/NFIRC%20%E6%A9%AB.webp" onerror="this.onerror=null;this.src='/img/loading.gif'" alt="NFIRC 南附資研社 - 從零開始的社團經營之路"/></a><div class="content"><a class="title" href="post/NFIRC/" title="NFIRC 南附資研社 - 從零開始的社團經營之路">NFIRC 南附資研社 - 從零開始的社團經營之路</a><time datetime="2024-06-01T00:00:00.000Z" title="發表於 2024-06-01 00:00:00">2024-06-01</time></div></div><div class="aside-list-item"><a class="thumbnail" href="post/Winter-Camp-2024/" title="南九校資訊社 x 成大資工 x SCIST 2024 聯合寒訓 - 資得其樂 籌辦心得"><img src="/img/wintercamp2024.webp" onerror="this.onerror=null;this.src='/img/loading.gif'" alt="南九校資訊社 x 成大資工 x SCIST 2024 聯合寒訓 - 資得其樂 籌辦心得"/></a><div class="content"><a class="title" href="post/Winter-Camp-2024/" title="南九校資訊社 x 成大資工 x SCIST 2024 聯合寒訓 - 資得其樂 籌辦心得">南九校資訊社 x 成大資工 x SCIST 2024 聯合寒訓 - 資得其樂 籌辦心得</a><time datetime="2024-02-08T00:00:00.000Z" title="發表於 2024-02-08 00:00:00">2024-02-08</time></div></div><div class="aside-list-item"><a class="thumbnail" href="post/STL/" title="C++ STL 全"><img src="/img/data_structure_basic.webp" onerror="this.onerror=null;this.src='/img/loading.gif'" alt="C++ STL 全"/></a><div class="content"><a class="title" href="post/STL/" title="C++ STL 全">C++ STL 全</a><time datetime="2023-12-31T00:00:00.000Z" title="發表於 2023-12-31 00:00:00">2023-12-31</time></div></div></div></div><div class="card-widget" id="card-newest-comments"><div class="item-headline"><i class="fas fa-comment-dots"></i><span>最新評論</span></div><div class="aside-list"><span>正在載入中...</span></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/%E5%BF%83%E5%BE%97/"><span class="card-category-list-name">心得</span><span class="card-category-list-count">4</span></a><ul class="card-category-list child"><li class="card-category-list-item "><a class="card-category-list-link" href="categories/%E5%BF%83%E5%BE%97/%E7%87%9F%E9%9A%8A/"><span class="card-category-list-name">營隊</span><span class="card-category-list-count">2</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="categories/%E5%BF%83%E5%BE%97/%E7%A4%BE%E5%9C%98/"><span class="card-category-list-name">社團</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/%E7%AD%86%E8%A8%98/"><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%AD%86%E8%A8%98/AI-%E4%BA%BA%E5%B7%A5%E6%99%BA%E6%85%A7/"><span class="card-category-list-name">AI 人工智慧</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%AD%86%E8%A8%98/%E7%A8%8B%E5%BC%8F/"><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-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/2025/01/"><span class="card-archive-list-date">一月 2025</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/2024/12/"><span class="card-archive-list-date">十二月 2024</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/2024/06/"><span class="card-archive-list-date">六月 2024</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/2024/02/"><span class="card-archive-list-date">二月 2024</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/12/"><span class="card-archive-list-date">十二月 2023</span><span class="card-archive-list-count">2</span></a></li><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/2022/12/"><span class="card-archive-list-date">十二月 2022</span><span class="card-archive-list-count">1</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-11-30T16: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">19.9k</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="2025-02-03T13:09:44.558Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer" style="background-image: url('/img/top_img.webp')"><div id="footer-wrap"><div class="copyright">©2022 - 2025 <i id="heartbeat" class="fa fas fa-heartbeat"></i> By ShiYu Huang</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener external nofollow noreferrer" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主題 </span><a target="_blank" rel="noopener external nofollow noreferrer" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div><div class="footer_custom_text">Hope you can learn something from this <a href="https://4yu.dev/">blog</a>!</div></div><link rel="stylesheet" href="https://fastly.jsdelivr.net/gh/HCLonely/images@master/others/heartbeat.min.css"></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><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="https://cdn.jsdelivr.net/npm/instant.page/instantpage.min.js" type="module"></script><script src="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.js"></script><div class="js-pjax"><script>function subtitleType () {
if (true) {
window.typed = new Typed("#subtitle", {
strings: ["Keep learning, keep growing","Everything Is Code","Attention is All you Need","Programming == Data Structures + Algorithm","Coding , Debug Debug Debug . . .","Cmd + C , Cmd + V","from Zero to Hero."],
startDelay: 200,
typeSpeed: 60,
loop: true,
backSpeed: 20
})
} else {
document.getElementById("subtitle").innerHTML = 'Keep learning, keep growing'
}
}
if (true) {
if (typeof Typed === 'function') {
subtitleType()
} else {
getScript('https://cdn.jsdelivr.net/npm/typed.js/lib/typed.min.js').then(subtitleType)
}
} else {
subtitleType()
}</script></div><script>window.addEventListener('load', () => {
const changeContent = (content) => {
if (content === '') return content
content = content.replace(/<img.*?src="(.*?)"?[^\>]+>/ig, '[圖片]') // replace image link
content = content.replace(/<a[^>]+?href=["']?([^"']+)["']?[^>]*>([^<]+)<\/a>/gi, '[連結]') // replace url
content = content.replace(/<pre><code>.*?<\/pre>/gi, '[程式碼]') // replace code
content = content.replace(/<[^>]+>/g,"") // remove html tag
if (content.length > 150) {
content = content.substring(0,150) + '...'
}
return content
}
const findTrueUrl = (array) => {
Promise.all(array.map(item =>
fetch(item.url).then(resp => resp.json()).then(data => {
const urlArray = data.body.match(/(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?/ig)
if (data.user.login === 'utterances-bot') {
return urlArray.pop()
} else {
return urlArray.shift()
}
})
)).then(res => {
array = array.map((i,index)=> {
return {
...i,
url: res[index]
}
})
saveToLocal.set('github-newest-comments', JSON.stringify(array), 10/(60*24))
generateHtml(array)
});
}
const getComment = () => {
fetch('https://api.github.com/repos/SHIYU0318/SHIYU0318.github.io/issues/comments?sort=updated&direction=desc&per_page=6&page=1',{
"headers": {
Accept: 'application/vnd.github.v3.html+json'
}
})
.then(response => response.json())
.then(data => {
const githubArray = data.map(item => {
return {
'avatar': item.user.avatar_url,
'content': changeContent(item.body_html),
'nick': item.user.login,
'url': item.issue_url,
'date': item.updated_at,
'githubUrl': item.html_url
}
})
findTrueUrl(githubArray)
}).catch(e => {
const $dom = document.querySelector('#card-newest-comments .aside-list')
$dom.innerHTML= "無法獲取評論,請確認相關配置是否正確"
})
}
const generateHtml = array => {
let result = ''
if (array.length) {
for (let i = 0; i < array.length; i++) {
result += '<div class=\'aside-list-item\'>'
if (true) {
const name = 'src'
result += `<a href='${array[i].url}' class='thumbnail'><img ${name}='${array[i].avatar}' alt='${array[i].nick}'></a>`
}
result += `<div class='content'>
<a class='comment' href='${array[i].url}' title='${array[i].content}'>${array[i].content}</a>
<div class='name'><span>${array[i].nick} / </span><time datetime="${array[i].date}">${btf.diffDate(array[i].date, true)}</time></div>
</div></div>`
}
} else {
result += '沒有評論'
}
let $dom = document.querySelector('#card-newest-comments .aside-list')
$dom.innerHTML= result
window.lazyLoadInstance && window.lazyLoadInstance.update()
window.pjax && window.pjax.refresh($dom)
}
const newestCommentInit = () => {
if (document.querySelector('#card-newest-comments .aside-list')) {
const data = saveToLocal.get('github-newest-comments')
if (data) {
generateHtml(JSON.parse(data))
} else {
getComment()
}
}
}
newestCommentInit()
document.addEventListener('pjax:complete', newestCommentInit)
})</script><div class="aplayer no-destroy" data-id="7218222301" data-server="netease" data-type="playlist" data-fixed="true" data-autoplay="true"> </div><script src="https://cdn.jsdelivr.net/npm/pace-js@latest/pace.min.js"></script><script defer="defer" id="fluttering_ribbon" mobile="true" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/canvas-fluttering-ribbon.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 = true;
document.body.addEventListener('input', POWERMODE);
</script><script id="click-heart" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/click-heart.min.js" async="async" mobile="true"></script><script>(function(d, w, c) {
w.ChatraID = 'NxXNSWTTNGbjfwQGi';
var s = d.createElement('script');
w[c] = w[c] || function() {
(w[c].q = w[c].q || []).push(arguments);
};
s.async = true;
s.src = 'https://call.chatra.io/chatra.js';
if (d.head) d.head.appendChild(s);
})(document, window, 'Chatra');
if (false) {
var chatBtnFn = () => {
var chatBtn = document.getElementById("chat_btn")
chatBtn.addEventListener("click", function(){
Chatra('openChat')
});
}
chatBtnFn()
} else {
if (false) {
function chatBtnHide () {
Chatra('hide')
}
function chatBtnShow () {
Chatra('show')
}
}
}</script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css" media="print" onload="this.media='all'"><script src="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js"></script><script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/metingjs/dist/Meting.min.js"></script><script src="https://cdn.jsdelivr.net/npm/pjax/pjax.min.js"></script><script>let pjaxSelectors = ["head > title","#config-diff","#body-wrap","#rightside-config-hide","#rightside-config-show",".js-pjax"]
var pjax = new Pjax({
elements: 'a:not([target="_blank"])',
selectors: pjaxSelectors,
cacheBust: false,
analytics: true,
scrollRestoration: false
})
document.addEventListener('pjax:send', function () {
// removeEventListener scroll
window.tocScrollFn && window.removeEventListener('scroll', window.tocScrollFn)
window.scrollCollect && window.removeEventListener('scroll', scrollCollect)
document.getElementById('rightside').style.cssText = "opacity: ''; transform: ''"
if (window.aplayers) {
for (let i = 0; i < window.aplayers.length; i++) {
if (!window.aplayers[i].options.fixed) {
window.aplayers[i].destroy()
}
}
}
typeof typed === 'object' && typed.destroy()
//reset readmode
const $bodyClassList = document.body.classList
$bodyClassList.contains('read-mode') && $bodyClassList.remove('read-mode')
typeof disqusjs === 'object' && disqusjs.destroy()
})
document.addEventListener('pjax:complete', function () {
window.refreshFn()
document.querySelectorAll('script[data-pjax]').forEach(item => {
const newScript = document.createElement('script')
const content = item.text || item.textContent || item.innerHTML || ""
Array.from(item.attributes).forEach(attr => newScript.setAttribute(attr.name, attr.value))
newScript.appendChild(document.createTextNode(content))
item.parentNode.replaceChild(newScript, item)
})
GLOBAL_CONFIG.islazyload && window.lazyLoadInstance.update()
typeof chatBtnFn === 'function' && chatBtnFn()
typeof panguInit === 'function' && panguInit()
// google analytics
typeof gtag === 'function' && gtag('config', '6506400853', {'page_path': window.location.pathname});
// baidu analytics
typeof _hmt === 'object' && _hmt.push(['_trackPageview',window.location.pathname]);
typeof loadMeting === 'function' && document.getElementsByClassName('aplayer').length && loadMeting()
// prismjs
typeof Prism === 'object' && Prism.highlightAll()
})
document.addEventListener('pjax:error', (e) => {
if (e.request.status === 404) {
pjax.loadUrl('/404.html')
}
})</script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>