貌似閣下愿意今后從事IT相關(guān)的工作 就知識點來講,只要理解任一門語言,就能明白數(shù)據(jù)結(jié)構(gòu) 知識都是從具體上升到概念 因此偶不敢對閣下的C語言基礎做任何假設 倘若你計劃從事研發(fā),并希望做的出色 首先需要的,不是具體的知識,而是思考和解決問題的哲學 這對一個初中生來講大概無從談起 回學校吧,小兄弟 你的頭腦很清醒,知道該學什么 線代高數(shù)對一個從事IT研發(fā)的人來講都很重要,重要之處不是具體的公式定理,而是思考的抽象能力 離散數(shù)學,暫時沒那個必要,等你今后從事商業(yè)智能,或是網(wǎng)格計算,再學不遲 思考和學習是統(tǒng)一的,這點你做的可以,偶不再羅唆 祝你成功。
判斷題:對錯錯錯對對錯對錯對
填空題:1.操作系統(tǒng) 2.order by , group by 3.表,元組,屬性。4.數(shù)據(jù)結(jié)構(gòu),完整性約束 5.關(guān)系 6.一對一,一對多,多對多 7.創(chuàng)建,修改,刪除 8.min,sum 9.視圖,虛擬或查詢 10.exec 11. 系統(tǒng)存儲過程,用戶定義存儲過程
在計算機考研專業(yè)基礎課統(tǒng)考科目中,一共考查數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、計算機組成原理、計算機網(wǎng)絡四門課程,滿分為150分,其中數(shù)據(jù)結(jié)構(gòu)占45分。
一、考查目標
(1)理解數(shù)據(jù)結(jié)構(gòu)的基本概念,掌握數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)及其差異,以及各種基本操作的實現(xiàn)。
(2)掌握基本的數(shù)據(jù)處理原理和方法的基礎上,能夠?qū)λ惴ㄟM行設計與分析。
(3)能夠選擇合適的數(shù)據(jù)結(jié)構(gòu)和方法進行問題求解。
二、知識點解析
1.線性表
線性表是一種最簡單的數(shù)據(jù)結(jié)構(gòu),在線性表方面,主要考查線性表的定義和基本操作、線性表的實現(xiàn)。在線性表實現(xiàn)方面,要掌握的是線性表的存儲結(jié)構(gòu),包括順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu),特別是鏈式存儲結(jié)構(gòu),是考查的重點。另外,還要掌握線性表的基本應用。
2.棧、隊列和數(shù)組
棧和隊列是兩種特殊的線性表,在這方面,要求我們掌握棧和隊列的基本概念,以及他們之間的區(qū)別。對于棧和隊列的存儲結(jié)構(gòu)(包括順序存儲結(jié)構(gòu)、鏈式存儲結(jié)構(gòu))要有較深的理解,對于棧和隊列的應用,例如,排隊問題、子程序調(diào)用問題、表達式問題等,要搞清楚。
一維數(shù)組屬于線性表范疇,但多維數(shù)組不屬于線性表。在這方面,主要掌握數(shù)組的存儲結(jié)構(gòu),例如按行優(yōu)先、按列優(yōu)先等,某個元素存在的地址是什么。對于特殊矩陣(二維數(shù)組)的壓縮存儲原理也要搞清楚。
3、樹與二叉樹
二叉樹和樹是兩種不同的概念,這一點是必須要搞清楚的。在這個部分,我們要掌握樹的定義、二叉樹的定義及主要特征(特殊的二叉樹、二叉樹的性質(zhì))。在二叉樹的順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)方面,特別是鏈式存儲結(jié)構(gòu),因為很多應用都是建立在鏈式存儲基礎上,例如,二叉樹的遍歷(前序遍歷、中序遍歷、后序遍歷)就是一種典型的應用。
在特殊的二叉樹中,完全二叉樹的概念是必須要搞清楚的,其次,線索二叉樹的基本概念和構(gòu)造、二叉排序樹、平衡二叉樹的基本概念和應用,特別是二叉排序樹的基本性質(zhì)和特點要能很好地理解。
多棵獨立的樹就組成了森林,樹的存儲結(jié)構(gòu)和遍歷、森林的遍歷、樹和二叉樹的轉(zhuǎn)換、森林和二叉樹的轉(zhuǎn)換等知識,也要有了了解。
最后就是樹的應用,通常會作為綜合應用類試題出現(xiàn),包括等價類問題、哈夫曼(Huffman)樹和哈夫曼編碼等。
很多計算機專業(yè)的同學對于大學2年級開設的數(shù)據(jù)結(jié)構(gòu)課程很是頭痛.
看見大家總在談論數(shù)據(jù)結(jié)構(gòu)重要性,可使自己學習卻總也找不到合適的方法.
下面我和大家分享一下我過去一年多以來學習和應用數(shù)據(jù)結(jié)構(gòu)方面一些經(jīng)驗.
內(nèi)容都是來自作者本人的一些經(jīng)歷和體驗,希望對于大家學習數(shù)據(jù)結(jié)構(gòu)有引導作用。
1 什么是數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)從文字上面來看,為數(shù)據(jù)和結(jié)構(gòu)兩部分。這樣就很容易聯(lián)系到數(shù)據(jù)結(jié)構(gòu)的本質(zhì)是一種對于數(shù)據(jù)結(jié)構(gòu)花的知識。補充一個知識點,數(shù)據(jù)結(jié)構(gòu)本質(zhì)和離散數(shù)學有很密切的關(guān)系。離散數(shù)學是處理的是離散(非連續(xù)的)的數(shù)據(jù),站在數(shù)據(jù)結(jié)構(gòu)的觀點上來看,也可以理解是一種非連續(xù)數(shù)據(jù)的結(jié)構(gòu)。
2 數(shù)據(jù)結(jié)構(gòu)和程序設計語言
數(shù)據(jù)結(jié)構(gòu)和程序設計語言本身沒有任何聯(lián)系,唯一有的關(guān)系就實用程序語言去描述數(shù)據(jù)結(jié)構(gòu)。
因為數(shù)據(jù)結(jié)構(gòu)是一種抽象數(shù)據(jù),通過程序設計語言可以將在計算機中進行實現(xiàn)。今天大學里數(shù)據(jù)結(jié)構(gòu)課程常用來描述數(shù)據(jù)結(jié)構(gòu)的語言有C程序設計語言,C++程序設計語言和JAVA程序設計語言. 而對于喜歡其他語言的同學完全可以自己通過學習數(shù)據(jù)結(jié)構(gòu)后用自己熟悉的程序設計語言去完成程序化的描述.
我自己過去很喜歡C#程序設計語言,自己用C#程序設計對于一些數(shù)據(jù)結(jié)構(gòu)進行了實現(xiàn).
大家可以通過訪問CSTC我的專欄看到兩篇C#描述的數(shù)據(jù)結(jié)構(gòu)
3 數(shù)據(jù)結(jié)構(gòu)學習的技巧
3.1 學習數(shù)據(jù)結(jié)構(gòu)的概念后對于抽象數(shù)據(jù)類型的設計參考C++ STL標準庫中容器的設計.這樣對于無論是數(shù)據(jù)結(jié)構(gòu)的學習還有程序設計接口能力上都會有很大的提高.
3.2 對于數(shù)據(jù)結(jié)構(gòu)課程中很多時候都不太重視的順序(數(shù)組)做存儲的數(shù)據(jù)結(jié)構(gòu),希望大家還是要多留意這快的知識.對于有些場合需要考慮時間換空間的情況下需要考慮順序存儲結(jié)構(gòu).
3.3??數(shù)據(jù)結(jié)構(gòu)學習一定要自己獨立完成代碼實現(xiàn),雖然有時候你理解內(nèi)容了,但是實現(xiàn)上面還是會愈要很多困難的,解決這些困難會幫助你提高程序設計的能力的.
推薦一本習題集
C++描述的數(shù)據(jù)結(jié)構(gòu)的習題集(英文版)
數(shù)據(jù)結(jié)構(gòu)是計算機專業(yè)最重要最基礎的一門課,對于有過編程經(jīng)驗的人,結(jié)合自己的編程體會去悟它的思想;對于初學者,撿一種自己最熟悉的語言去分析它總之千萬不要陷在語言的細節(jié)上要高屋建瓴的去領會數(shù)據(jù)結(jié)構(gòu)的思想。而且我覺得隨著編程經(jīng)歷的豐富對它的體會越深入,最初接觸是對一些思想可能只是生硬的記憶,隨著學習的深入逐漸領悟了很多。奉勸孔孔不要灰心,對于實在弄不懂的東東,就先記住,應付過考試再說。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡傳播權(quán)保護條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:3.165秒