目的:勾勒数据结构课程的轮廓,了解本课程的目的、性质和主要内容。
内容:数据结构和算法概念,算法设计与分析。
要求:理解数据结构基本概念,理解抽象数据类型概念;
熟悉算法设计和分析方法。
重点:数据的逻辑结构和存储结构概念。
难点:抽象数据类型,链式存储结构,算法分析方法。
实验:简单算法设计,回顾Java语言的基本语法和面向对象基本概念。
2024/8/31 11:41:33 7.48MB 数据结构
1
算法:C语言实现(第1-4部分)基础知识、数据结构、排序及搜索(原书第3版)》细腻讲解计算机算法的C语言实现。
全书分为四部分,共16章。
包括基本算法分析原理,基本数据结构、抽象数据结构、递归和树等数据结构知识,选择排序、插入排序、冒泡排序、希尔排序、快速排序方法、归并和归并排序方法、优先队列与堆排序方法、基数排序方法以及特殊用途的排序方法,并比较了各种排序方法的性能特征,在进一步讲解符号表、树等抽象数据类型的基础上,重点讨论散列方法、基数搜索以及外部搜索方法。
书中提供了用C语言描述的完整算法源程序,并且配有丰富的插图和练习,还包含大量简洁的实现将理论和实践成功地相结合,这些实现均可用在真实应用上。
《算法:C语言实现(第1-4部分)基础知识、数据结构、排序及搜索(原书第3版)》内容丰富,具有很强的实用价值,适合作为高等院校计算机及相关专业本科生算法课程的教材,也是广大研究人员的极佳参考读物。
2024/8/19 0:43:06 6.55MB 算法
1
参考资料:《数据结构》(C语言版)严蔚敏&&吴伟民&&米宁著要求选用顺序存储结构和二叉链表存储结构实现抽象数据类型二叉树的基本操作。
有个亮点是利用字符在dos界面显示二叉树的结构形态。
里面包含了完整的源程序和实验报告文档。
实验报告包含了完整的步骤包括:一.抽象数据类型二叉树的定义二.存储结构定义(包括顺序存储和二叉链表)及各基本操作的实现三.测试方案。
包括详细的测试函数四.测试结果。
对所有操作的测试过程中二叉树的变化截图。
五.二叉树各基本操作时间复杂度与存储结构特点分析及对算法的改进设想。
六.实验总结和体会实现的基本操作如下:InitBiTree(&T)DestroyBiTree(&T)CreateBiTree(&T)ClearBiTree(&T)BiTreeEmpty(T)BiTreeDepth(T)Root(T)Value(T,e)Assign(T,&e,value)Parent(T,e)LeftChild(T,e)RightChild(T,e)LeftSibling(T,e)RightSibling(T,e)InsertChild(T,p,LR,c)DeleteChild(T,p,LR)PreOrderTraverse(T,Visit())InOrderTraverse(T,Visit())PostOrderTraverse(T,Visit())LevelOrderTraverse(T,Visit())下载清单:Base.h//全局常量、公共变量、公共函数等BiTree.h//二叉链表二叉树实现BiTree_Main.cpp//二叉链表二叉树测试程序SqBiTree.h//顺序存储二叉树实现SqBiTree_Main.cpp//顺序存储二叉树测试程序抽象数据类型实现-二叉树-实验报告.doc
1
《数据结构》(C语言版)是为“数据结构”课程编写的教材,也可作为学习数据结构及其算法的C程序设计的参数教材。
本书的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;
后半部分主要讨论查找和排序的各种实现方法及其综合分析比较。
其内容和章节编排1992年4月出版的《数据结构》(第二版)基本一致,但在本书中更突出了抽象数据类型的概念。
全书采用类C语言作为数据结构和算法的描述语言。
本书概念表述严谨,逻辑推理严密,语言精炼,用词达意,并有配套出版的《数据结构题集》(C语言版),便于教学,又便于自学。
本书后附有光盘。
光盘内容可在DOS环境下运行的以类C语言描述的“数据结构算法动态模拟辅助教学软件,以及在Windows环境下运行的以类PASCAL或类C两种语言描述的“数据结构算法动态模拟辅助教学软件”。
本书可作为计算机类专业或信息类相关专业的本科或专科教材,也可供从事计算机工程与应用工作的科技工作者参考。
2024/4/28 6:45:29 26.04MB 数据结构
1
C语言树据结构抽象数据类型的实现—树利用二叉链表的存储结构,开发工具:VC++
2024/4/23 5:13:18 12KB c数据结构
1
数据结构是计算机专业教学计划中的核心课程,也是计算机及相关专业考研和水平等级考试的必考科目。
要从事和计算机科学与技术相关的工作,尤其是计算机应用领域的开发和研制工作,必须具备坚实的数据结构基础。
  《数据结构(C++版)(第2版)》介绍了数据结构、算法以及抽象数据类型的概念,介绍了线性表、栈、队列和串、数组、树和二叉树、图等常用数据结构,讨论了常用的查找、排序和索引技术,给出了较多的数据结构的应用实例。
限于篇幅,把贯穿所有数据结构的综合案例放在了网站上,供读者下载。
  《数据结构(C++版)(第2版)》内容丰富,层次清晰,讲解深入浅出,可作为计算机及相关专业本、专科数据结构课程的教材,也可供从事计算机软件开发和应用的工程技术人员阅读、参考。
目录
2024/3/25 16:04:19 27.31MB 数据结构 单链表
1
一、问题描述若要在n个城市之间建役通信网络,只福要架设n-1条级路即可.如何以最低的经济代价建设这个通信网,是一个网的最小生成树问题。
二、基本要求(1)利用克鲁斯卡尔算法求图的最小生成树。
(2)能实现教科书6.5节中定义的抽象数据类型MFSet.以此表示构造生成树过程中的连通分量。
(3)以文本形式输出生成树中各条边以及他们的权值.三、需求分析1、构造图结构。
2、利用克鲁斯卡尔算法求图的最小生成树。
3、完成生成树的输出。
1
第1章 声明和初始化基本类型1.1 我该如何决定使用哪种整数类型?1.2 为什么不精确定义标准类型的大小?1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。
然后根据实际的机器环境把它们定义为int、short、long等类型。
这样看来,所有的问题都解决了,是吗?1.4 新的64位机上的64位类型是什么样的?指针声明1.5 这样的声明有什么问题?char*p1,p2;我在使用p2的时候报错了。
1.6 我想声明一个指针,并为它分配一些空间,但却不行。
这样的代码有什么问题?char*p;*p=malloc(10);声明风格1.7 怎样声明和定义全局变量和函数最好?1.8 如何在C中实现不透明(抽象)数据类型?1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量?存储类型1.10 同一个静态(static)函数或变量的所有声明都必需包含static存储类型吗?1.11 extern在函数声明中是什么意思?1.12 关键字auto到底有什么用途?类型定义(typedef)1.13 对于用户定义类型,typedef和#define有什么区别?1.14 我似乎不能成功定义一个链表。
我试过typedefstruct{char*item;NODEPTRnext;}*NODEPTR;但是编译器报了错误信息。
难道在C语言中结构不能包含指向自己的指针吗?1.15 如何定义一对相互引用的结构?1.16 Struct{ }x1;和typedefstruct{ }x2;这两个声明有什么区别?1.17 “typedefint(*funcptr)();”是什么意思?const限定词1.18 我有这样一组声明:typedefchar*charp;constcharpp;为什么是p而不是它指向的字符为const?1.19 为什么不能像下面这样在初始式和数组维度值中使用const值?constintn=5;inta[n];1.20 constchar*p、charconst*p和char*constp有什么区别?复杂的声明1.21 怎样建立和理解非常复杂的声明?例如定义一个包含N个指向返回指向字符的指针的函数的指针的数组?1.22 如何声明返回指向同类型函数的指针的函数?我在设计一个状态机,用函数表示每种状态,每个函数都会返回一个指向下一个状态的函数的指针。
可我找不到任何方法来声明这样的函数——感觉我需要一个返回指针的函数,返回的指针指向的又是返回指针的函数……,如此往复,以至无穷。
数组大小1.23 能否声明和传入数组大小一致的局部数组,或者由其他参数指定大小的参数数组?1.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小?声明问题1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。
*1.26 main的正确定义是什么?voidmain正确吗?1.27 我的编译器总在报函数原型不匹配的错误,可我觉得没什么问题。
这是为什么?1.28 文件中的第一个声明就报出奇怪的语法错误,可我看没什么问题。
这是为什么?1.29 为什么我的编译器不允许我定义大数组,如doublearray[256][256]?命名空间1.30如何判断哪些标识符可以使用,哪些被保留了?初始化1.31 对于没有显式初始化的变量的初始值可以作怎样的假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零?1.32 下面的代码为什么不能编译?intf(){chara[]="Hello,world!";}*1.33 下面的初始化有什么问题?编译器提示“invalidinitializers”或其他信息。
char*p=malloc(10);1.34 chara[]="stringliteral";和char*p="stringliteral";初始化有什么区别?当我向p[i]赋值的时候,我的程序崩溃了。
1.35 chara{[3]}="abc";是否合法?1.36 我总算弄清楚函数指针的声明方法了,但怎样才能初始化呢?1.37 能够初始化联合吗?第2章 结构、联合和枚举结构声明2.1 structx1{ };和typedefstruct{ }x2;有什么不同?2.2 这样的代码为什么不对?structx{ };xthestruct;2.3 结构可以包含指向自己的指针吗?2.4 在C语言中用什么方法实现抽象数据类型最好?*2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法?2.6 为什么声明externf(structx*p);给我报了一个晦涩
2024/1/19 18:27:15 18.8MB c语言
1
一、问题描述若要在n个城市之间建役通信网络,只福要架设n-1条级路即可.如何以最低的经济代价建设这个通信网,是一个网的最小生成树问题。
二、基本要求(1)利用克鲁斯卡尔算法求图的最小生成树。
(2)能实现教科书6.5节中定义的抽象数据类型MFSet.以此表示构造生成树过程中的连通分量。
(3)以文本形式输出生成树中各条边以及他们的权值.三、需求分析1、构造图结构。
2、利用克鲁斯卡尔算法求图的最小生成树。
3、完成生成树的输出。
2023/10/2 17:44:34 2KB 最小生成树问 克鲁斯卡尔算
1
《C语言接口与实现:创建可重用软件的技术》,原名《CInterfacesandImplementations:TechniquesforCreatingReusableSoftware》,作者:【美】DavidR.Hanson,翻译:傅蓉周鹏张昆琪权威,出版社:机械工业出版社,ISBN:7111130057,PDF格式,大小10MB。
内容简介:本书概念清晰、内容新颖、实例详尽,是一本有关设计、实现和有效使用c语言库函数,掌握创建可重用c语言软件模块技术的参考指南。
本书倡导基于接口的c语言设计理念及其实现技术,深入详细地描述了24个c语言接口及其实现。
  本书通过叙述如何用一种与语言无关的方法将接口的设计与实现独立开来,从而形成一种基于接口的设计途径来创建可重用的api,本书是一本针对c语言程序员的不可多得的好书,也是值得所有希望掌握可重用软件模块技术的读者阅读的参考书籍。
  关于如何设计、实现和有效使用库函数的指南少之又少(如果说还有的话)。
这本力作填补了这个空白。
它可以作为下一代软件的工具书.所有的c语言程序员都应该阅读。
  ——w.richardstevens  “我向每位专业c语言程序员推荐这本书。
c语言程序员们忽视书中所描述的各种技术已经太长时间了。
”  ——normanramsey,贝尔实验室研究员每一位程序员和软件项目经理必须掌握创建可重用软件模块的技术:可重用软件模块是构建大规模、可靠应用的基石。
与当前某些面向对象语言不同,c语言为创建可重用应用程序接口(applicationprogramminginterface,api)提供的语言和功能支持非常少。
尽管大多数c语言程序员在自己所编写的每一个应用程序中都使用api和实现api的库.但只有相当少的程序员可以创建和发布新的、可广泛使用的api。
本书阐述了如何用一种与语言无关的方法将接口的设计与实现独立开来,从而形成一种基于接口的设计途径来创建可重用的api。
书中提供大量实例具体说明这种方法。
作者详细描述了24个接口和它们的实现细节,有助于读者对这种设计方法的透彻理解。
本书具有如下特色:简洁明了的接口描述。
为对接口设计感兴趣的程序员提供了一个参考手册每一章接口的代码实现分析将帮助读者修改、扩充一个接口,或者设计相关接口深入探讨了“算法工程”:阐述如何将数据结构以及相关算法打包到可重用模块中24个api和8个实例程序的源代码都经过测试检查,每个程序都是按照”literate程序”的形式构成。
为源代码提供了全面完整的解释提供了非常少见的有关c语言编程技巧的文档记录可以方便地在http://www.cs.princeton.edu/software/cii/访问本书的所有源码目录:出版者的话专家指导委员会译者序前言第1章简介11.1literate程序21.2编程风格61.3效率7参考书目浅析9练习9第2章接口与实现112.1接口112.2实现132.3抽象数据类型152.4客户调用程序的责任172.5效率21参考书目浅析21练习22第3章原子253.1接口25.3.2实现26参考书目浅析31练习31第4章异常与断言334.1接口344.2实现384.3断言43参考书目浅析46练习46第5章内存管理495.1接口505.2产品级实现535.3校验实现55参考书目浅析62练习62第6章进一步内存管理656.1接口656.2实现67参考书目浅析72练习73第7章链表757.1接口757.2实现78参考书目浅析83练习83第8章表格858.1接口858.2例子:单词频率878.3实现92参考书目浅析98练习98第9章集合1019.1接口1019.2实例:交叉引用列表1039.3实现1099.3.1成员操作1109.3.2集合操作113参考书目浅析116练习116第10章动态数组11910.1接口11910.2实现122参考书目浅析124练习125第11章序列12711.1接口12711.2实现128参考书目浅析133练习133第12章环13512.1接口13512.2实现1
1
共 20 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡