原创 union-find問題

問題 具有N個觸點,接近的兩個節點間可以相連接,連接的通道稱爲一個分量,傳入兩個點,判斷是否相連,如果沒有相連則連接。最後可以返回連通分量的數量,剛開始數量爲N,每一個觸點都是獨立的分量,基本除了過程如下 quick-find算

原创 現代JavaScript教程

現代JavaScript教程

原创 不常見卻非常實用的css片段

非常實用的css片段

原创 Node異步編程解決方案

前言 Node得益於自身的異步非阻塞I/O展現出的優秀性能而大力發展。但是異步I/O也帶來相應的一系列問題,回調地獄、遞歸嵌套。。。被人們所詬病,本文記錄一些異步解決方案,使Node的並行I/O處理得到更好的利用 解決方案 主要解

原创 Node內存機制

前言 Node是以V8作爲引擎進行開發,所以內存控制也要考慮V8的因素,V8中對內存進行了限制,主要原因在於在瀏覽器運行並不需要這麼大的內存分配,每開一個標籤頁就是一個V8實例,限制的內存遠遠大於所需內存了,另外一點就是在進行垃圾

原创 二叉樹的創建與方法

二叉樹是一種重要的數據存儲結構,它體現了一對多的數據存儲方式,一顆二叉樹有一個根節點(root),與衆多分結點組成,每個雙親最多有兩個子樹分爲左子樹和右子樹,結點的分支數稱爲這個結點的度,整個二叉樹的度爲最大的度.度爲0的結點稱爲

原创 二分查找的時間複雜度

時間複雜度:算法最複雜情況下的運行時間,在很多情況下是意義不大的,算法不能單純看最壞的情況 增長數量級:結合成本模型下的算法運行時間,成本模型是指確切的指標,比如訪問數組的次數 二分查找 public class BinarySe

原创 排序-優先隊列

優先隊列 很多時候我們可能需要處理有序的元素,但是並不需要全部有序,可能只需要取出某個優先級較高的元素(最大優先隊列),只處理當前鍵值較大元素,API爲插入元素和刪除最大元素。這種數據類型爲優先隊列。 API: public cl

原创 C語言指針詳解(通俗易懂)

前言 剛開始接觸C語言,對C語言中的指針有一點不能理解,接着還有一個"&"符號感覺兩者有點接近和混淆。兩者的定義如下: &是取地址符號 *是定義指針變量,即指向內存單元的指針 指針是C/C++語言的特色,它允許程序員直接操縱內

原创 前端面試、筆試題總結

文章目錄HTML部分JavaScript部分 CSS部分React部分ES6HTTP與計算機網絡算法其他 HTML部分 1. HTML5新特性,移除了哪些元素 1. 語義化標籤 header、nav、footer、section

原创 棧、隊列、揹包(基本集合數據結構)

前言 棧、隊列、揹包都是基本的數據結構,棧遵循LIFO(後進先出的原則),隊列遵循FIFO(先進先出)。揹包類似棧,但是不像隊列和棧一樣強調順序,並且,只進不出,用於不強調順序的集合。 棧 java中存在棧的數據結構,但是不推薦使

原创 Vue3.0-beta composition API note

介紹 基於option的Vue2.x當代碼量足夠多時很難區分不同的邏輯,混作一團,基於composition的組織型結構能夠很好的區分不同的處理邏輯,並且能夠很好的達到複用的目的,類似React Hook(useHandle),c

原创 設計模式-命令模式

簡介 命令模式的命令就是執行特定事件的指令,應用場景可用於請求者與接收者之間的解耦,很多時候我們並不知道或者說也並不關心接收者是什麼,這就是變化的部分,但是知道的是一定會做一些事,這就是確定的事。設計模式需要處處想着不變與變化分離

原创 設計模式-發佈-訂閱模式

簡介 發佈-訂閱模式也可稱爲觀察者模式,使用非常廣泛,也非常有用。通過發佈者遍歷依賴通知,監聽者監聽添加依賴。在Vue2.x中的響應式原理也是通過發佈-訂閱模式實現 DOM事件 非常常用的DOM事件監聽就是發佈-訂閱模式的實現。

原创 分頁查詢緩存(代理模式)

緩存代理 對於多次重複的操作,可以使用緩存代理的形式進行緩存(代理模式的知識,可以看我另外一篇文章設計模式-代理模式),在分頁查詢中,對於相同的分頁,我們不希望進行重複的請求,畢竟ajax是非常消耗性能的,這個時候就可以使用緩存代