數據結構與演算法英文版
1. 電腦里常用的的英語有那些(漢語意思)
硬體類(Hardware)
軟體類(Software)
網路類(Network)
CPU(Center Processor Unit)中央處理單元
mainboard主板
RAM(random access
memory)隨機存儲器(內存)
ROM(Read Only Memory)只讀存儲器
Floppy Disk軟盤
Hard Disk硬碟
CD-ROM光碟驅動器(光碟機)
monitor監視器
keyboard鍵盤
mouse滑鼠
chip晶元
CD-R光碟刻錄機
HUB集線器
Modem= MOlator-DEMolator,數據機
P-P(Plug and Play)即插即用
UPS(Uninterruptable Power Supply)不間斷電源
BIOS(Basic-input-Output
System)基本輸入輸出系統
CMOS(Complementary Metal-Oxide-Semiconctor)互補金屬氧化物半導體
setup安裝
uninstall卸載
wizzard向導
OS(Operation Systrem)操作系統
OA(Office AutoMation)辦公自動化
exit退出
edit編輯
復制
cut剪切
paste粘貼
delete刪除
select選擇
find查找
select all全選
replace替換
undo撤消
redo重做
program程序
license許可(證)
back前一步
next下一步
finish結束
folder文件夾
Destination Folder目的文件夾
user用戶
click點擊
double click雙擊
right click右擊
settings設置
update更新
release發布
data數據
data base資料庫
DBMS(Data Base Manege
System)資料庫管理系統
view視圖
insert插入
object對象
configuration配置
command命令
document文檔
POST(power-on-self-test)電源自檢程序
cursor游標
attribute屬性
icon圖標
service pack服務補丁
option pack功能補丁
Demo演示
short cut快捷方式
exception異常
debug調試
previous前一個
column行
row列
restart重新啟動
text文本
font字體
size大小
scale比例
interface界面
function函數
access訪問
manual指南
active激活
computer language計算機語言
menu菜單
GUI(graphical user
interfaces )圖形用戶界面
template模版
page setup頁面設置
password口令
code密碼
print preview列印預覽
zoom in放大
zoom out縮小
pan漫遊
cruise漫遊
full screen全屏
tool bar工具條
status bar狀態條
ruler標尺
table表
paragraph段落
symbol符號
style風格
execute執行
graphics圖形
image圖像
Unix用於伺服器的一種操作系統
Mac OS蘋果公司開發的操作系統
OO(Object-Oriented)面向對象
virus病毒
file文件
open打開
colse關閉
new新建
save保存
exit退出
clear清除
default默認
LAN區域網
WAN廣域網
Client/Server客戶機/伺服器
ATM( Asynchronous
Transfer Mode)非同步傳輸模式
Windows NT微軟公司的網路操作系統
Internet互聯網
WWW(World Wide Web)萬維網
protocol協議
HTTP超文本傳輸協議
FTP文件傳輸協議
Browser瀏覽器
homepage主頁
Webpage網頁
website網站
URL在Internet的WWW服務程序上
用於指定信息位置的表示方法
Online在線
Email電子郵件
ICQ網上尋呼
Firewall防火牆
Gateway網關
HTML超文本標識語言
hypertext超文本
hyperlink超級鏈接
IP(Address)互聯網協議(地址)
SearchEngine搜索引擎
TCP/IP用於網路的一組通訊協議
Telnet遠程登錄
IE(Internet Explorer)探索者(微軟公司的網路瀏覽器)
Navigator引航者(網景公司的瀏覽器)
multimedia多媒體
ISO國際標准化組織
ANSI美國國家標准協會
able 能
activefile 活動文件
addwatch 添加監視點
allfiles 所有文件
allrightsreserved 所有的權力保留
altdirlst 切換目錄格式
並能夠解決更大范圍內的磁碟問題
andotherinFORMation 以及其它的信息
archivefileattribute 歸檔文件屬性
assignto 指定到
autoanswer 自動應答
autodetect 自動檢測
autoindent 自動縮進
autosave 自動存儲
availableonvolume 該盤剩餘空間
badcommand 命令錯
badcommandorfilename 命令或文件名錯
batchparameters 批處理參數
binaryfile 二進制文件
binaryfiles 二進制文件
borlandinternational borland國際公司
bottommargin 頁下空白
bydate 按日期
byextension 按擴展名
byname 按名稱
bytesfree 位元組空閑
callstack 調用棧
casesensitive 區分大小寫
要求出現確認提示,在你想覆蓋一個
centralpointsoftwareinc central point 軟體股份公司
changedirectory 更換目錄
changedrive 改變驅動器
changename 更改名稱
characterset 字元集
checkingfor 正在檢查
檢查磁碟並顯示一個狀態報告
chgdrivepath 改變盤/路徑
china 中國
chooseoneofthefollowing 從下列中選一項
clearall 全部清除
clearallbreakpoints 清除所有斷點
clearsanattribute 清除屬性
clearscommandhistory 清除命令歷史
clearscreen 清除屏幕
closeall 關閉所有文件
codegeneration 代碼生成
colorpalette 彩色調色板
commandline 命令行
commandprompt 命令提示符
compressedfile 壓縮文件
配置硬碟,以為 MS-DOS 所用
conventionalmemory 常規內存
***ceptemptyones 拷貝目錄和子目錄,空的除外
拷貝設置了歸檔屬性的文件
把文件拷貝或搬移至另一地方
把一個軟盤的內容拷貝到另一個軟盤上
diskette 復制磁碟
C拷貝M移動 O比 F搜索R改名 D刪除 V版本 E瀏覽A屬性 W寫字 P列印 L列表
rightc 版權(c
創建DOS分區或邏輯DOS驅動器
createextendeddospartition 創建擴展DOS分區
在擴展DOS分區中創建邏輯DOS驅動器
createprimarydospartition 創建DOS主分區
createsadirectory 創建一個目錄
創建,改變或刪除磁碟的卷標
currentfile 當前文件
currentfixeddiskdrive 當前硬碟驅動器
currentsettings 當前設置
currenttime 當前時間
cursorposition 游標位置
defrag 整理碎片
dele 刪去
刪除分區或邏輯DOS驅動器
刪除一個目錄和所有的子目錄及其中的所有文件
deltree 刪除樹
devicedriver 設備驅動程序
dialogbox 對話欄
directionkeys 方向鍵
directly 直接地
directorylistargument 目錄顯示變數
directoryof 目錄清單
directorystructure 目錄結構
diskaccess 磁碟存取
disk 磁碟拷貝
磁碟服務功能: C拷貝 O比較 F搜索R改卷名V校驗 瀏覽E編緝M圖 L找文件 N格式化
diskspace 磁碟空間
displayfile 顯示文件
displayoptions 顯示選項
displaypartitioninFORMation 顯示分區信息
顯示指定目錄和所有目錄下的文件
顯示指定屬性的文件
顯示或改變文件屬性
displaysorsetsthedate 顯示或設備日期
以單色而非彩色顯示安裝屏信息
顯示系統中已用和未用的內存數量
顯示磁碟上所有文件的完整路徑和名稱
顯示或改變當前目錄
doctor 醫生
doesn 不
doesntchangetheattribute 不要改變屬性
dosshell DOS 外殼
doubleclick 雙擊
你想顯示邏輯驅動器信息嗎(y/n)?
driveletter 驅動器名
editmenu 編輯選單
emsmemory ems內存
endoffile 文件尾
endofline 行尾
enterchoice 輸入選擇
entiredisk 轉換磁碟
environmentvariable 環境變數
esc esc
everyfileandsubdirectory 所有的文件和子目錄
existingdestinationfile 已存在的目錄文件時
expandedmemory 擴充內存
expandtabs 擴充標簽
explicitly 明確地
extendedmemory 擴展內存
fastest 最快的
fatfilesystem fat 文件系統
fdiskoptions fdisk選項
fileattributes 文件屬性
fileFORMat 文件格式
filefunctions 文件功能
fileselection 文件選擇
fileselectionargument 文件選擇變元
filesin 文件在
filesinsubdir 子目錄中文件
fileslisted 列出文件
filespec 文件說明
filespecification 文件標識
filesselected 選中文件
findfile 文件查尋
fixeddisk 硬碟
fixeddisksetupprogram 硬碟安裝程序
fixeserrorsonthedisk 解決磁碟錯誤
floppydisk 軟盤
FORMatdiskette 格式化磁碟
FORMatsadiskforusewithmsdos 格式化用於MS-DOS的磁碟
FORMfeed 進紙
freememory 閑置內存
fullscreen 全屏幕
functionprocere 函數過程
graphical 圖解的
graphicslibrary 圖形庫
groupdirectoriesfirst 先顯示目錄組
hangup 掛斷
harddisk 硬碟
hardwaredetection 硬體檢測
ha**een 已經
helpfile 幫助文件
helpindex 幫助索引
helpinFORMation 幫助信息
helppath 幫助路徑
helpscreen 幫助屏
helptext 幫助說明
helptopics 幫助主題
helpwindow 幫助窗口
hiddenfile 隱含文件
hiddenfileattribute 隱含文件屬性
hiddenfiles 隱含文件
howto 操作方式
ignorecase 忽略大小寫
在常規和上位內存
incorrectdos 不正確的DOS
incorrectdosversion DOS 版本不正確
indicatesabinaryfile 表示是一個二進制文件
indicatesanasciitextfile 表示是一個ascii文本文件
insertmode 插入方式
請用scandisk,不要用chkdsk
inuse 在使用
invaliddirectory 無效的目錄
is 是
kbytes 千位元組
keyboardtype 鍵盤類型
labeldisk 標注磁碟
laptop 膝上
largestexecutableprogram 最大可執行程序
largestmemoryblockavailable 最大內存塊可用
lefthanded 左手習慣
leftmargin 左邊界
linenumber 行號
linenumbers 行號
linespacing 行間距
listbyfilesinsortedorder 按指定順序顯示文件
listfile 列表文件
listof 清單
locatefile 文件定位
lookat 查看
lookup 查找
macroname 宏名字
makedirectory 創建目錄
memoryinfo 內存信息
memorymodel 內存模式
menubar 菜單條
menucommand 菜單命令
menus 菜單
messagewindow 信息窗口
microsoft 微軟
microsoftantivirus 微軟反病毒軟體
microsoftcorporation 微軟公司
mini 小的
modemsetup 數據機安裝
molename 模塊名
monitormode 監控狀態
monochromemonitor 單色監視器
moveto 移至
multi 多
newdata 新建數據
newer 更新的
newfile 新文件
newname 新名稱
newwindow 新建窗口
norton norton
nostack 棧未定義
noteusedeltreecautiously 注意:小心使用deltree
onlinehelp 聯機求助
optionally 可選擇地
or 或
pageframe 頁面
pagelength 頁長
在顯示每屏信息後暫停一下
pctools pc工具
postscript 附言
prefixmeaningnot 前綴意即"不
prefixtoreverseorder 反向顯示的前綴
presetche** 用前綴和放在短橫線-後的開關(例如/-w)預置開關
pressakeytoresume 按一鍵繼續
pressanykeyforfilefunctions 敲任意鍵執行文件功能
pressentertokeepthesamedate 敲回車以保持相同的日期
pressentertokeepthesametime 敲回車以保持相同的時間
pressesctocontinue 敲esc繼續
pressesctoexit 敲鍵退出
pressesctoexitfdisk 敲esc退出fdisk
敲esc返回fdisk選項
1-collections.MutableMapping
1.1 概念:這是什麼?
大家可能想知道這一串英文是什麼意思?其實只需要了解在collections庫當中有一個非常重要的抽象基類MutableMappin
g,專門用於實現map的一個非常有價值的工具。後邊我們會用到它。
2-我們的map基類
2.1 實現這個類
這個基類其實也就是確定了鍵值對的屬性,並且存儲了基本的比較方法。它的對象就是一個鍵值對咯。這個很好理解。有點類似object的感覺。
3-通過map基類實現的無序映射
給大家看一個上邊的例子,這個例子來源於網路,自己改了改,能用,更加詳細而已,湊合看.
4-Python哈希表的實現的基類
4.1 咱有話直說:上才(代)藝(碼)
如果還不知道哈希表概念的同xio,請參考 python進階之數據結構與演算法–中級-哈希表(小白piao分享) 。廢話不多說,咱們擼代碼:
OK了,基本的哈希表就實現了,其實仔細想想很容易,但是自己要能實現還是要理解哈希表的本質哦,外加一定量的練習才可以熟練掌握,練習的目的就是為了熟練而已。
5-分離鏈表實現的具體哈希map類
說明:這玩意只是一種降低沖突的手段,上一節提過,降低沖突最好的地方是發生在元組進入桶的時候,所以想必大家猜到了,接下來的分離鏈表也就是為了self._bucket_xxxxxxx系列方法做准備。這里之所以在上邊使用@abstractmethod就是為了繼承實現,目的可以實現多種將沖突的哈希表。分離鏈表的概念上一節也有的。
「見碼入面」(借鑒:見字如面這個電視節目,有興趣可以看看,還不錯的):
6-用線性探測處理沖突的哈希map類
這種方式的好處不需要再去藉助其他額外的賦值結構來表示桶。結構更加簡單。不會再像上一種方法還要讓桶是一個UnsortedTableMap的對象。
代碼如下:
3. 圖解:數據結構與演算法之字典樹
字典樹(Trie樹)這一數據結構是不太常見但是十分好用<typo id="typo-32" data-origin="而" ignoretag="true">而</typo>一種數據結構,博主也就是最近一段時間做了幾道位元組的題目才了解到字典樹這一數據結構。並將自己的學習內容跟大家分享。
首先,何為字典樹(Trie樹)?顧名思義,就是在查詢目標時,像字典一樣按照一定排列順序標准和步驟訪問樹的節點,舉一個簡單例子,英文字典查單詞"He",那麼第一步你肯定要按照a-z的順序先找到h這個首字母,然後再按照相同順序找到e。博主所要介紹的字典樹就是類似字典這樣的結構。
上述查找單詞的過程就是不斷查找與所查單詞相同前綴的字元串,直至查找到所查單詞的最後一個字母。因此,字典樹又稱為前綴樹(prefix Tree)。
以hell、hi、new、nop為例建立一個字典樹,構造如下
根據上文所述可以得到字典樹的結構性質
根據以上三點來構造字典樹。
字典樹的構造其實較為簡單,和一般樹的構造沒有太大區別。接下來將對字典樹的插入、刪除、查詢操作進行分析與講解。
在沒有字典樹的時候,我們需要先構建出字典樹。
以插入hell為例:
再插入單詞hit,過程如下,檢查=>存在則訪問/不存在則建立新節點再訪問=>直到要插入的單詞到達最後一個字元。
字典樹的插入操作比較簡單,不需要考慮太多排序問題。
正如上文所說,按照一定的標准進行查詢目標字元串,每個節點都儲存一個字元,根節點到達子節點路徑組成的字元串即為該節點所對應的字元串,那麼查詢目標字元串時按照從根節點一步一步訪問相應字元所在的節點,其實也就是匹配字元串前綴的過程。
如下圖,在字典樹中,查詢"hell",
[圖片上傳失敗...(image-f028c4-1611057619223)]
如果在該字典中查詢no
刪除操作相對於插入與查詢復雜一點,但是也很簡單,刪除的前提是單詞已經存在於字典樹。
刪除字典樹節點的操作需要考慮目標字元串最後一個字元是否是樹中的葉子節點。
因為一個單詞可能是另一個單詞的前綴部分,如果不是葉子節點,我們只需要把該單詞的單詞標志位清空即可,無需刪除整個「樹枝」。
比如,想要刪除"no"這個單詞
比如,想要刪除"hell"這個單詞,與第一種刪除相同,只不過是從最後一個節點,'l'節點是葉子節點,開始往上進行節點刪除操作。
比如,想要刪除"hi",那麼與前兩種其實一致,訪問到葉子節點'i',刪除葉子節點,並向上訪問,訪問到'h',由於刪除'i'以後,'h'依然不是葉子節點,因此不再繼續刪除節點。
比如,想要刪除"nop",與前幾種類似,先訪問到葉子節點'p'刪除,然後上移發現'o'是葉子節點,然而'o'有單詞標記位,所以,這里不再繼續刪除。
有上面幾種刪除操作,我們得到了刪除的標准:
了解了這么多字典樹的各種操作,相信你對字典樹的用途有個大概了解了,字典樹最大作用是用於==字元串的各種匹配==,前綴匹配(模糊搜索),字元串查找(字典)等等。
博主只打出了「涓涓清泉」四個關鍵字,其搜索列表返回了諸多以涓涓清泉為首的選項
顧名思義,就是一個單純的字典而已,不多舉例。
字典樹的構建,通過利用空間換時間的思想以及字元串的公共前綴減少無效的字元串比較操作從而使得插入和查找字元串變得高效.其插入或者查找的時間復雜度為O(n),n為字元串長度。
當然,字典樹有著它的弊端,當所插入的單詞沒有很多公共前綴時,字典樹的構建變得十分復雜和低效。
字典樹的難度不是很大,但卻是一種十分有用的數據結構,掌握之後,對於解決一些有關字元串匹配、公共前綴的問題十分有幫助。
當然我們也說了,字典樹有著自己的弊端,由於用空間換時間,如果遇到了一堆公共前綴很少的單詞進行字典樹構造時,空間需求就顯得十分大了。
4. 我大三了,大二的數據結構與演算法課掛了,請推薦一本C++的教材
《數據孝碼結構與程序設計--C++語言表述》(英文版)
(美)Robert L.Kruse & Alexander J.Ryba 著
高等教育出版社
這本是美國的經典教材,由淺到深講的隱慎陸灶頃很詳細,我們大二用的就是這個教材,在國內也有中文譯本:《C++數據結構與程序設計》錢麗萍譯,清華大學出版社
另外《數據結構(用面向對象方法與C++描述)》殷人昆等著,清華大學出版社。也很好,這本教材還有配套的習題集《數據結構習題解析(用面向對象方法與C++語言描述)》殷人昆、徐孝凱著,方便復習鞏固。
5. 看過<數據結構與演算法分析>mark allen weiss 那個的進來
買第三版,初學演算法還是不要英文了,真影響理解。由於本書中的演算法分析占很大比重,所以要有一定高數基礎,而在於演算法思想方面要有一定離散數學基礎,主要是數論、組合數學、圖論。這本書並不難,演算法和數據結構講的都不深,比較適合入門。但是這本書的例子較少,適合當工具書。如果想提高請看劉汝家的《演算法藝術與信息學競賽》