数据结构英文版课件1DataStructuresCourse_第1页
数据结构英文版课件1DataStructuresCourse_第2页
数据结构英文版课件1DataStructuresCourse_第3页
数据结构英文版课件1DataStructuresCourse_第4页
数据结构英文版课件1DataStructuresCourse_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机学院谢芳Data

StructuresUsing

C2017-2-21DataStructures1/92017-2-21DataStructures2/9Prerequisites(Backgrounds)Good

knowledgeofCProgrammingAcourse

indiscrete

mathematics2017-2-21DataStructures3/9Grading

SchemesHomework

+Attendance(20%)Programming

(20%)Terminal

Examination

(60%)2017-2-21DataStructures4/9Recommended Reference Textbook:1.APracticalIntroductiontoDataStrcutresandAlgorithmAnalysis,CliffordA.Shaffer.2.<<数据结构

(C语言版)>>,严蔚敏,吴伟民编著,清华大学出版社。Course

MaterialRequired

Textbook

:

Structures,AlgorithmAnalysis,theelectronicbook.2017-2-21DataStructures5/9ContentsDataStructures-An

OverviewSequentialListsStacksQueuesLinked

ListsTreesGraphsSortingSearching2017-2-21DataStructures6/9WhyC

?Modular

procedural

language

with

arrays,structures,

and

referencesExperimentaltoolVC6.0VS2008Cvs.C++

orJavasmall,

clean,

simplecan

support

learning

datastructureswithoutlearning

toomuch

language

extras2017-2-21DataStructures7/9Learning

Data

StructuresWHY

?WHAT

?HOW?Practise!

Practise!

Practise!2017-2-21DataStructures8/9Whywe

use

Data

Structures?Itshouldgowithoutsayingthatpeoplewriteprogramstosolveproblems.However,itiscrucialtokeepthistruisminmindwhenselectingadatastructuretosolveaparticularproblem.Onlybyfirstanalyzingtheproblemtodeterminetheperformancegoalsthatmustbeachievedcantherebeanyhopeofselectingtherightdatastructurethattheyarefamiliarwithbutwhichisinappropriatetotheproblem.2017-2-21DataStructures9/9Purpose/GoalsDataStructures-ifyourprogramneedstostoreafewthings-number,payrollrecords,orjobdescriptionsforexample-thesimplestandmosteffectiveapproachmightbetoputtheminalist(inc–array).Onlywhenyouhavetoorganizeandsearchthroughalargenumberofthingsdomoresophisticateddatastructuresusuallybecomenecessary.2017-2-21DataStructures10/9Howtouse

Data

Structures?Whenselectingadatastructuretosolveaproblem,youshouldfollowthesesteps:Analyzeyourproblemtodeterminethebasicoperationsthatmustbesupported.Examplesofbasicoperationsincludeinsertingadataitemintothedatastructure,deletingadataitemfromthedatastructure,andfindingaspecifieddataitem.Quantifytheresourceconstraintsforeachoperation.Selectthedatastructurethatbestmeetstheserequirements.2017-2-21DataStructures11/9AbstractDataTypesandDataStructuresThepreviouspagesusedtheterms“dataitem”and“datastructure”withoutproperlydefiningthem.Thissectionpresentsterminologyandmotivatesthedesignprocessembodiedinthethree-stepapproachtoselectingadatastructure.Thismotivationstemsfromtheneedtomanagethetremendouscomplexityofcomputerprograms.2017-2-21DataStructures12/9DataTypes(DT)Atypeisacollectionofvalues.Forexample,-TheBooleantype

consistsofthevaluestrueandfalse.Theintegersalsoformatype.Anintegerisasimpletypebecauseitsvaluescontainnosubparts.-Abankaccountrecordwilltypicallycontainservalpiecesofinformationsuchasname,address,accountnumber,andaccountbalance.Sucharecordisanexampleofanaggregatetypeorcompositetype.2017-2-21DataStructures13/9DataTypes(DT)-Adataitemisapieceofinformationorarecordwhosevalueisdrawnfromatype.Adataitemissaidtobeamemberofatype.-Adatatypeisatypetogetherwithacollectionofoperationstomanipulatethetype.Forexample,anintegervariableisamemberoftheintegerdatatype.Additionisanexampleofanoperationontheintegerdatatype.2017-2-21DataStructures14/9AbstractDataTypes(ADT)Anabstractdatatypeistherealizationofadatatypeasasoftwarecomponent.TheinterfaceoftheADTisdefinedintermsofatypesandasetofoperationsonthattype.Thebehaviorofeachoperationisdeterminedbyitsinputsandoutputs.AnADTdoesnotspecifyhowthedatatypeisimplemented.TheseimplementationdetailsarehiddenfromtheuseroftheADTandprotectedfromoutsideaccess,aconceptreferredtoasencapsulation.(AnADTmustbedefinedbeforeweuseit)2017-2-21DataStructures15/9DistinctionofLogicalConceptofadatatypeanditsphysicalimplementationinacomputerprogramInacomputerprogram,therearetwotraditionalimplementationsforthelistdatatype:thelinkedlistandarray-basedlist.Thelistdatatypecanthereforebeimplementedusingalinkedlistoranarray.“Array”iscommonlyusedincomputerprogrammingtomeanacontiguousblockofmemorylocation,whereeachmemorylocationstoresonefixed-lengthdataitem.Bythismeaning,anarrayisaphysicaldatastructure.2017-2-21DataStructures16/9DistinctionofLogicalConceptofadatatypeanditsphysicalimplementationinacomputerprogramHowever,arraycanalsomeanalogicaldatatypecomposedacollectionofdataitems,witheachdataitemidentifiedbyanindexnumber(incprogramminglanguage,itusespointertorepresenttheindex).Itispossibletoimplementarraysinmanydifferentways.ADTExample:Array:Fixed

length

string

method#Example:

char

*str;str=“CHINA”;0 1 2 3 4 5◆Advantage:simple.◆Disadvantage:possible

wastageofmemory

space;complex

operations.str[0]~str[19]NULL6

……. 19CHINA\0…….…Linked

listmethod◆Advantage:nowastageofmemory

space;memory

allocation

isdynamic;si

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论