美日韩一区二区三区_日韩视频区_欧美日韩精品一区二区在线播放_亚洲欧美另类在线_国产综合精品_国偷自产一区二区免费视频

推廣 熱搜: 廣場  Java  app  Word  營業  微信公眾號  北京代理記賬  商城  代理記賬  商標交易 

javascript列表操作 js單鏈表查找原理?

   2023-05-07 企業服務招財貓210
核心提示:js單鏈表查找原理?鏈表的起源一、鏈表的由來我們接觸最多的數據存儲結構應該是數組,它在實際場景中出現的頻率非常高,但并不適合所有情況。這也是一個鏈表原因如下:在許多編程語言中,數組的長度是固定的,所以

js單鏈表查找原理?

鏈表的起源

一、鏈表的由來

我們接觸最多的數據存儲結構應該是數組,它在實際場景中出現的頻率非常高,但并不適合所有情況。這也是一個鏈表

原因如下:

在許多編程語言中,數組的長度是固定的,所以當數組充滿數據時,添加新元素是非常困難的。

在數組中添加和刪除元素很麻煩,因為數組中的其他元素需要向前或向后平移。

Javascript中數組的主要問題是作為對象實現,相比其他語言(如C和Java)中的數組效率較低。

為了解決以上問題,如果在實際使用中發現數組比較慢,可以考慮改用鏈表。除了對數據的隨機訪問,鏈表幾乎可以用于任何可以使用一維數組的場合。如果需要頻繁的刪除和添加操作,主動考慮鏈表吧~

1.1特點

優勢

鏈表結構可以充分利用計算機內存空間,實現靈活的動態內存管理。

添加數據和刪除數據很容易。

鏈表中的每個元素實際上都是一個獨立的對象,所有對象都通過每個元素中的引用字段鏈接在一起。

缺點?

訪問時間是線性的(而且很難流水線化),更快的訪問,比如隨機訪問,是不可行的。與鏈表相比,數組有更好的緩存位置。

失去了隨機讀取數組的優勢,而且因為增加了節點的指針字段,鏈表的空間開銷也比較大。

鏈表有許多不同的類型:單向鏈表、雙向鏈表和循環鏈表。鏈表可以用許多編程語言實現。以下代碼全部用Js實現。如有不妥,請指正。我們鼓勵你。

第二,單鏈表

單個鏈表中的每個節點不僅包含一個值,還包含一個鏈接到下一個節點的引用字段。通過這種,單個鏈表按順序組織所有節點。、

下面是一個單鏈表的例子:

當你得到了頭節點,你就得到了整個列表。

我們創建單個節點的操作應該如下所示:

2.1添加節點

就像打繩結一樣,加一個節點就是在兩個結之間打一個新結。

如果我們想在給定的節點prev后添加一個新值,我們應該:

創建要插入的節點cur。

將cur節點的下一個鏈接到下一個節點(pre的下一個節點)

將下一個pre鏈接到cur節點。

在開頭添加一個節點

眾所周知,我們用head節點來表示整個列表。

因此,在列表的開頭添加新節點時,更新head節點head是非常重要的。

初始化新節點cur;

將新節點cur的下一個鏈接到我們原來的頭節點。

將下一個頭節點鏈接到cur,也就是說,是的。

在末尾添加一個節點

創建新的節點cur

只需將鏈表最后一個節點的下一個鏈接到cur。

2.2刪除節點

如果我們想刪除指定的節點cur,我們應該這樣做:

查找cur的上一個節點prev及其下一個節點(要刪除的節點)。

把鏈接給`,也就是跳過刪除節點。

注意:必須從頭節點遍歷到指定節點,刪除節點的平均時間復雜度為O(N)。

刪除最后一個節點

找到下一個節點鏈接為空的節點,以及它的前一個節點。

僅鏈接空

第三,設計鏈表

以LeetCod

如何實現用javascript把地圖可視化?

對于JS開發人員來說,可視化數據的能力與制作交互式網頁一樣重要。特別是兩者經常同時出現。在數據中使用Javascript隨著可視化領域的普及,甚至會有新的庫可以為Web創建漂亮的圖表。

可視化需要考慮許多因素:

我想要什么樣的圖表?餅狀圖,地理圖,折線圖,條形圖?

有些庫只支持幾種類型。首先,你要知道自己真正需要的是什么。

數據集有多大?

基于SVG的庫通常更適合中小型數據集,因為每個元素都是唯一的節點,存在于DOM樹中。這也意味著允許直接訪問它們,這使得它們更加靈活。雖然您可以使用一些數據聚合算法、智能內存管理和其他花哨的技術來處理大型數據集,但使用基于Canvas的大型數據集工具是更可靠的選擇。帆布速度很快。

該應用程序是Web應用程序、移動應用程序還是兩者都有?

有些庫響應速度更快,有些庫有自己版本的ReactNative,比如Victory。

瀏覽器支持給定的庫嗎?

你用的是什么樣的Javascript框架?

確保您的數據庫庫能夠順利運行。如果您正在使用React,使用React特定的庫可能比使用包裝器更好。

你需要什么樣的外貌?

如果需要一些高級動畫,也要考慮這個。

能夠回答上面提到的問題將會很容易找到一個完美的開源解決方案。

1、D3.js

適用于:任何環境

GitHub:

2、退貨

適用于:反應

GitHub:

3、勝利

適用于:反應,反應原生

4、反作用

適用于:反應

5、ApexCharts

適用于:React,Vue.js,純Javascript。

GitHub:

越來越多的數據可視化庫證明了Web可視化的重要性。希望這個列表能幫助你在以后的項目中創造出漂亮的圖表。祝你好運!

 
反對 0舉報 0 收藏 0 打賞 0評論 0
 
更多>同類資訊
推薦圖文
推薦資訊
點擊排行
合作伙伴
網站首頁  |  關于我們  |  聯系方式  |  使用協議  |  版權隱私  |  網站地圖  |  排名推廣  |  廣告服務  |  積分換禮  |  網站留言  |  RSS訂閱  |  違規舉報  |  冀ICP備2023006999號-8
 
主站蜘蛛池模板: 欧美成人免费在线视频 | 国产精品白嫩白嫩大学美女 | 久久精品一二三区 | 国产精品视频一区二区三区四区五区 | 羞羞视频一区 | 久草最新网址 | 97香蕉超级碰碰久久免费软件 | 亚洲极色 | 亚洲成人福利 | 成人激情视频网 | 一区二区免费看 | 最新欧美精品一区二区三区 | 国产正在播放 | 国产91九色视频 | 久草最新 | 久久成人在线观看 | 99热1 | 免费中文视频 | 日韩区在线 | 色女生影院| 欧美国产永久免费看片 | 羞羞视频免费网站入口 | 91在线色 | 欧美一级片网站 | 久久久国产一级片 | 国产精品成aⅴ人片在线观看 | 久久精品视频亚洲 | 性生活视频软件 | 天天夜干 | 国产精品91久久久 | 欧美a在线 | 久久国产夫妻视频 | 久久午夜国产 | 欧美色淫 | xx53xx| 麻豆19禁国产青草精品 | 成人午夜视频免费 | 依人九九宗合九九九 | 亚洲网站一区 | 国产手机av在线 | 亚洲免费视频一区二区 |