版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机学院谢芳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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年从零到精通学徒安全培训内容
- 2026年幼儿教育质量监督协议
- 2026年油田运营管理合同协议
- 2026年安全培训内容包括什么重点
- 2026年监控施工安全培训内容核心要点
- 阿坝藏族羌族自治州茂县2025-2026学年第二学期五年级语文第五单元测试卷(部编版含答案)
- 2026年商场消防安全培训内容核心要点
- 九江市修水县2025-2026学年第二学期五年级语文期中考试卷(部编版含答案)
- 襄樊市枣阳市2025-2026学年第二学期二年级语文第四单元测试卷(部编版含答案)
- 宝鸡市金台区2025-2026学年第二学期五年级语文第六单元测试卷(部编版含答案)
- 【揭阳】2025年广东省揭阳市惠来县卫健系统公开招聘事业单位工作人员152人笔试历年典型考题及考点剖析附带答案详解
- 2025年北京市西城区社区工作者招聘笔试真题及答案
- 2026年及未来5年市场数据中国演艺行业市场发展数据监测及投资潜力预测报告
- Z20名校联盟2026届高三语文第二次联考考场标杆文9篇:“出片”
- 部编版五年级下册第二单元 口语交际《怎样表演课本剧》考题作业设计
- 肾内科住院医师规范化培训
- 2026年员工安全操作培训
- 2026工业机器人核心零部件行业现状与发展趋势报告
- 蚯蚓养殖技术操作指南
- mckinsey -国家健康:更健全的健康状况更强劲的经济发展 The health of nations Stronger health,stronger economies
- 机动车检测维修工程师考试题及答案
评论
0/150
提交评论