<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          你知道文本編輯器中的算法和數(shù)據(jù)結(jié)構(gòu)嗎?

          共 992字,需瀏覽 2分鐘

           ·

          2021-01-15 14:15


          來自:今日頭條

          來源:是不是很酷


          前一陣子和一個朋友聊一個算法問題,本質(zhì)是一個高效進行字符串操作的問題,涉及的操作非常多,越聊越復(fù)雜。


          最后,問題本身已經(jīng)被我們聊成了如何實現(xiàn)一個高效的文本編輯器。


          這顯然是一個有現(xiàn)成解的問題。我驚訝地發(fā)現(xiàn)我上學(xué)的時候竟然沒有做過文本編輯器這樣一個工程。


          一個很酷的數(shù)據(jù)結(jié)構(gòu),叫?Rope,可以作為整個文本編輯器內(nèi)部文檔字符串內(nèi)容存儲的數(shù)據(jù)結(jié)構(gòu)。

          wiki 百科連接如下:

          https://en.m.wikipedia.org/wiki/Rope_(data_structure)


          另一個可以處理相應(yīng)問題的數(shù)據(jù)結(jié)構(gòu),叫?Gap Buffer。

          維基百科鏈接:

          https://en.m.wikipedia.org/wiki/Gap_buffer


          這里還有一本專門介紹文本編輯的開源書籍,叫《The Craft of Text Editing》。

          基本就是在講如何實現(xiàn)一個高效的文本編輯器


          雖然年代比較老,是 1999 年的書,但是如果只關(guān)注文本編輯器這么一個看似簡單的東西,里面到底都涉及什么問題,以及相應(yīng)的解決思路,足夠了。

          除了要高效地對文本進行增刪改查,對字符串進行各種區(qū)間或者非區(qū)間的操作以外,還包括渲染,排版,和文件系統(tǒng)的 IO 交互,等等問題。


          數(shù)據(jù)結(jié)構(gòu)與算法在計算機的世界中無處不在。


          哪怕是文本編輯器這個看起來平凡得不能再平凡的東西:)


          在線閱讀地址如下:

          http://www.finseth.com/craft/


          以上,便是今天的分享,覺得內(nèi)容對你有所幫助的,還請點個「在看」支持,謝謝各位啦~


          良許個人微信


          添加良許個人微信即送3套程序員必讀資料


          → 精選技術(shù)資料共享

          → 高手如云交流社群





          本公眾號全部博文已整理成一個目錄,請在公眾號里回復(fù)「m」獲??!

          推薦閱讀:

          什么是堡壘機?為什么需要堡壘機?

          是時候跟Docker說再見了

          Linux系統(tǒng)inodes資源耗盡問題


          5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機,樹莓派,等等。在公眾號內(nèi)回復(fù)「1024」,即可免費獲取?。?/span>


          瀏覽 56
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产精品特级毛片 | 正在播放:【性感女侍】疯狂做爱 | 亚洲123| 男人的天堂黄色 | 无码人妻精品一区二区三区99仓 |