数据结构算法与应用-C++语言描述目录译者序前言第一部分预备知识第1章C++程序设计11.1引言11.2函数与参数21.2.1传值参数21.2.2模板函数31.2.3引用参数31.2.4常量引用参数41.2.5返回值41.2.6递归函数51.3动态存储分配91.3.1操作符new91.3.2一维数组91.3.3异常处理101.3.4操作符delete101.3.5二维数组101.4类131.4.1类Currency131.4.2使用不同的描述方法181.4.3操作符重载201.4.4引发异常221.4.5友元和保护类成员231.4.6增加#ifndef,#define和#endif语句241.5测试与调试241.5.1什么是测试241.5.2设计测试数据261.5.3调试281.6参考及推荐读物29第2章程序功能302.1引言302.2空间复杂性312.2.1空间复杂性的组成312.2.2举例352.3时间复杂性372.3.1时间复杂性的组成372.3.2操作计数372.3.3执行步数442.4渐进符号(O、健?、o)552.4.1大写O符号562.4.2椒?582.4.3符号592.4.4小写o符号602.4.5特性602.4.6复杂性分析举例612.5实际复杂性662.6功能测量682.6.1选择实例的大小692.6.2设计测试数据692.6.3进行实验692.7参考及推荐读物74第二部分数据结构第3章数据描述753.1引言753.2线性表763.3公式化描述773.3.1基本概念773.3.2异常类NoMem793.3.3操作793.3.4评价833.4链表描述863.4.1类ChainNode和Chain863.4.2操作883.4.3扩充类Chain913.4.4链表遍历器类923.4.5循环链表933.4.6与公式化描述方法的比较943.4.7双向链表953.4.8小结963.5间接寻址993.5.1基本概念993.5.2操作1003.6模拟指针1023.6.1SimSpace的操作1033.6.2采用模拟指针的链表1063.7描述方法的比较1103.8应用1113.8.1箱子排序1113.8.2基数排序1163.8.3等价类1173.8.4凸包1223.9参考及推荐读物127第4章数组和矩阵1284.1数组1284.1.1抽象数据类型1284.1.2C++数组1294.1.3行主映射和列主映射1294.1.4类Array1D1314.1.5类Array2D1334.2矩阵1374.2.1定义和操作1374.2.2类Matrix1384.3特殊矩阵1414.3.1定义和应用1414.3.2对角矩阵1434.3.3三对角矩阵1444.3.4三角矩阵1454.3.5对称矩阵1464.4稀疏矩阵1494.4.1基本概念1494.4.2数组描述1494.4.3链表描述154第5章堆栈1615.1抽象数据类型1615.2派生类和继承1625.3公式化描述1635.3.1Stack的效率1645.3.2自定义Stack1645.4链表描述1665.5应用1695.5.1括号匹配1695.5.2汉诺塔1705.5.3火车车厢重排1725.5.4开关盒布线1765.5.5离线等价类问题1785.5.6迷宫老鼠1805.6参考及推荐读物188第6章队列1896.1抽象数据类型1896.2公式化描述1906.3链表描述1946.4应用1976.4.1火车车厢重排1976.4.2电路布线2016.4.3识别图元2046.4.4工厂仿真2066.5参考及推荐读物217第7章跳表和散列2187.1字典2187.2线性表描述2197.3跳表描述2227.3.1理想情况2227.3.2插入和删除2237.3.3级的分配2247.3.4类SkipNode2247.3.5类SkipList2257.3.6复杂性2297.4散列表描述2297.4.1理想散列2297.4.2线性开型寻址散列2307.4.3链表散列2347.5应用——文本压缩2387.5.1LZW压缩2397.5.2LZW压缩的实现2397.5.3LZW解压缩2437.5.4LZW解压缩的实现2437.6参考及推荐读物247第8章二叉树和其他树2488.1树2488.2二叉树2518.3二叉树的特性2528.4二叉树描述2538.4.1公式化描述2538.4.2链表描述2548.5二叉树常用操作2568.6二叉树遍历2568.7抽象数据类型BinaryTree2598.8类BinaryTree2608.9抽象数据类型及类的扩充2638.9.1输出2638.9.2删除2648.9.3计算高度2648.9.4统计节点数2658.10应用2658.10.1设置信号放大器2658.10.2在线等价类2688.11参考及推荐读物275第9章优先队列2769.1引言2769.2线性表2779.3堆2789.3.1定义2789.3.2最大堆的插入2799.3.3最大堆的删除2799.3.4最大堆的初始化2809.3.5类MaxHeap2819.4左高树2859.4.1高度与宽度优先的最大及最小左高树2859.4.2最大HBLT的插入2879.4.3最大HBLT的删除2879.4.4合并两棵最大HBLT2879.4.5初始化最大HBLT2899.4.6类MaxHBLT2899.5应用2939.5.1堆排序2939.5.2机器调度2949.5.3霍夫曼编码2979.6参考及推荐读物302第10章竞?30310.1引言30310.2抽象数据类型WinnerTree30610.3类WinnerTree30710.3.1定义30710.3.2类定义30710.3.3构造函数、析构函数及Winner函数30810.3.4初始化赢者树30810.3.5重新组织比赛31010.4输者树31110.5应用31210.5.1用最先匹配法求解箱子装载问题31210.5.2用相邻匹配法求解箱子装载问题316第11章搜索树31911.1二叉搜索树32011.1.1基本概念32011.1.2抽象数据类型BSTree和IndexedBSTree32111.1.3类BSTree32211.1.4搜索32211.1.5插入32311.1.6删除32411.1.7类DBSTree32611.1.8二叉搜索树的高度32711.2AVL树32811.2.1基本概念32811.2.2AVL树的高度32811.2.3AVL树的描述32911.2.4AVL搜索树的搜索32911.2.5AVL搜索树的插入32911.2.6AVL搜索树的删除33211.3红-黑树33411.3.1基本概念33411.3.2红-黑树的描述33611.3.3红-黑树的搜索33611.3.4红-黑树的插入33611.3.5红-黑树的删除33911.3.6实现细节的考虑及复杂性分析34311.4B-树34411.4.1索引顺序访问方法34411.4.2m叉搜索树34511.4.3m序B-树34611.4.4B-树的高度34711.4.5B-树的搜索34811.4.6B-树的插入34811.4.7B-树的删除35011.4.8节点结构35311.5应用35411.5.1直方图35411.5.2用最优匹配法求解箱子装载问题35711.5.3交叉分布35911.6参考及推荐读物363第12章图36512.1基本概念36512.2应用36612.3特性36812.4抽象数据类型Graph和Digraph37012.5无向图和有向图的描述37112.5.1邻接矩阵37112.5.2邻接压缩表37312.5.3邻接链表37412.6网络描述37512.7类定义37612.7.1不同的类37612.7.2邻接矩阵类37712.7.3扩充Chain类38012.7.4类LinkedBase38112.7.5链接类38212.8图的遍历38612.8.1基本概念38612.8.2邻接矩阵的遍历函数38712.8.3邻接链表的遍历函数38812.9语言特性38912.9.1虚函数和多态性38912.9.2纯虚函数和抽象类39112.9.3虚基类39112.9.4抽象类和抽象数据类型39312.10图的搜索算法39412.10.1宽度优先搜索39412.10.2类Network39512.10.3BFS的实现39512.10.4BFS的复杂性分析39612.10.5深度优先搜索39712.11应用39912.11.1寻找路径39912.11.2连通图及其构件40012.11.3生成树402第三部分算法设计方法第13章贪婪算法40513.1最优化问题40513.2算法思想40613.3应用40913.3.1货箱装船40913.3.20/1背包问题41013.3.3拓扑排序41213.3.4二分覆盖41513.3.5单源最短路径42113.3.6最小耗费生成树42413.4参考及推荐读物433第14章分而治之算法43414.1算法思想43414.2应用44014.2.1残缺棋盘44014.2.2归并排序44314.2.3快速排序44714.2.4选择45214.2.5距离最近的点对45414.3解递归方程46214.4复杂性的下限46314.4.1最小最大问题的下限46414.4.2排序算法的下限465第15章动态规划46715.1算法思想46715.2应用46915.2.10/1背包问题46915.2.2图像压缩47115.2.3矩阵乘法链47615.2.4最短路径48015.2.5网络的无交叉子集48315.2.6元件折叠48615.3参考及推荐读物491第16章回溯49216.1算法思想49216.2应用49616.2.1货箱装船49616.2.20/1背包问题50316.2.3最大完备子图50616.2.4旅行商问题50816.2.5电路板排列510第17章分枝定界51617.1算法思想51617.2应用51917.2.1货箱装船51917.2.20/1背包问题52617.2.3最大完备子图52817.2.4旅行商问题52917.2.5电路板排列532
2019/2/11 7:56:36 11.23MB 数据结构
1
1.掌握数据结构的基本概念、基本原理和基本方法2.掌握数据的逻辑结构、存储结构及基本操作的完成,能够对算法进行基本的时间复杂度3.能够运用数据结构基本原理和
2021/1/15 8:16:09 1.22MB 微信 数据结构 算法 c++
1
本章将主要介绍使用Node.js开发web应用可能面临的安全问题,读者通过阅读本章可以了解web安全的基本概念,并且通过各种防御措施抵御一些常规的恶意攻击,搭建一个安全的web站点。
在学习本章之前,读者需要对HTTP协议、SQL数据库、Javascript有所了解。
在互联网时代,数据安全与个人隐私遭到了前所未有的挑战,我们作为网站开发者,必须让一个web站点满足基本的安全三要素:(1)机密性,要求保护数据内容不能泄露,加密是实现机密性的常用手段。
(2)完整性,要求用户获取的数据是完整不被篡改的,我们知道很多OAuth协议要求进行sign签名,就是保证了双方数据的完整性。
(3)可用性,保证我们的
2017/10/10 11:42:54 660KB Web安全实战
1
目录网盘文件永世链接01网络安全概述、防火墙基本概念02防火墙安全策略03ASPF、源NAT04源NAT配置,目的NAT05双机热备06用户管理、简述..........07GRE09L2TP概述、SSL10SSL配置,UTM、终端安全检查11NA复习12习题讲解、综合实验
2020/1/4 5:02:30 267B HCIA-Securit
1
本书是作者在总结多年教学与研究经验的基础上编写完成,主要引见了ArcGIS的使用基础、ArcGIS空间分析工具以及地学分析实例。
内容包括:ArcGIS简介、ArcMAP基础操作、数据的创建与编辑、数据变换、矢量数据的空间分析、栅格数据的空间分析、三维分析、空间统计分析、水文分析以及空间分析建模等。
此外,本书还配有具典型性意义的实例分析及大量的随书练习材料,并在光盘中辅以相应数据,以便于学生课后练习和复习。
???本书强调科学性、系统性、实用性与易读性的结合,可作为高等院校地理信息系统、地理学、测绘学等相关学科学生的教材,也可为科学研究、工程设计、规划管理等部门的科技人员提供参考。
?目录前言第一章导论 1.1地理信息系统  1.1.1基本概念  1.1.2GIS系统构成  1.1.3GIS功能与应用  1.1.4GIS技术与发展 1.2GIS空间分析  1.2.1空间分析  1.2.2基于GIS的空间分析  1.2.3常用GIS平台空间分析功能比较 1.3ArcGIS9概述  1.3.1ArcGIS9体系结构  1.3.2ArcGIS9软件特色  1.3.3ArcGIS9空间分析第二章ArcGIS应用基础 2.1ArcMap基础  2.1.1ArcMap的窗口组成  2.1.2新地图文档创建  2.1.3数据层的加载  2.1.4数据层的基本操作  2.1.5数据层的保存 2.2ArcCatalog应用基础  2.2.1ArcCatalog基础操作  2.2.2目录内容浏览  2.2.3数据搜索  2.2.4地图与图层操作  2.2.5地理数据输出 2.3Geoprocessing空间处理框架  2.3.1空间处理框架的基本引见  2.3.2ArcToolbox应用基础  2.3.3ArcToolBox内容简介第三章空间数据的采集与组织 3.1Shapefile文件创建  3.1.1创建Shapefile和dBASE表  3.1.2添加和删除属性项 3.2Coverage文件创建  3.2.1创建新的Coverage和INFO表  3.2.2建立拓扑  3.2.3定义Coverage的坐标系统  3.2.4Coverage维护操作 3.3Geodatabase数据库创建  3.3.1Geodatabase概述  3.3.2Geodatabase建立的一般过程  3.3.3创建一个新的Geodatabase  3.3.4建立数据库中的基本组成项  3.3.5向Geodatabase加载数据  3.3.6进一步定义数据库 3.4数据编辑  3.4.1图形编辑  3.4.2属性编辑 3.5实例与练习  3.5.1某地区地块的拓扑关系建立  3.5.2某市区几何网络的建立第四章空间数据的转换与处理 4.1投影变换  4.1.1定义投影  4.1.2投影变换  4.1.3数据变换 4.2数据格式转换  4.2.1数据结构转换  4.2.2数据格式转换 4.3数据处理  4.3.1数据裁切  4.3.2数据拼接  4.3.3数据提取 4.4练习:数据更新变换第五章空间数据的可视化表达 5.1数据符号化  5.1.1矢量数据符号化  5.1.2栅格数据符号化 5.2专题地图编制  5.2.1版面设计  5.2.2制图数据操作  5.2.3地图标注……第六章GIS空间分析导论第七章矢量数据的空间分析第八章栅格数据的空间分析第九章三维分析第十章地统计分析第十一章水文分析第十二章空间分析建模参考文献
2018/11/15 4:06:44 16.27MB ARCGIS 信息系统
1
一.C语言基础1.C语言特点(识记);
2.C语言程序基本组成(识记):3.基本数据类型:3.1标识符与基本数据类型(识记),3.2常量与变量(领会)3.3内存的概念(识记)4.基本输入、输出函数(领会):5.运算符与表达式(简单应用):5.1运算符的优先级与结合性二.程序控制结构1.C语言的语句(识记):2.顺序结构(领会):3.分支结构(简单应用):4.循环结构(综合应用):5算法特点6流程图三.构外型数据1.数组(综合应用):1.1定义和引用1.2字符数组1.3指针和数组2.结构类型:2.1结构类型的概念2.2结构类型定义及结构变量说明2.3结构变量的初始化2.4结构数组的初始化3.联合类型(识记):3.1联合类型的概念3.2联合类型定义和联合变量说明3.3联合类型的使用3.4Struct和Union区别4.枚举型(识记):4.1枚举型的定义4.2使用枚举型变量5.typedef的用途(识记):四.指针1.指针与指针变量(识记):2.指针运算符(领会):3.指针与函数4.指针数组与指向指针的指针(识记):5.指针与结构(领会):6.难点和易混淆五.函数1.常见的系统库函数(识记):2.用户自定义函数(简单应用):2.1函数定义2.2函数调用2.3函数声明2.4函数返回值2.5函数参数3.函数之间的数据传递(领会):4.函数的嵌套调用及递归调用(领会):5.局部变量与全局变量(识记):6.变量的存储类型与变量的初始化(领会):7.编译预处理(领会):六.文件1.文件的基本概念,C语言中的两种文件(识记)2.文件的打开、关闭和文件结束测试,文件的读写,文件的定位(识记)2.1文件操作函数2.2文件权限七.算法与编程(综合应用)1使用TurboC集成开发环境调试程序1.1.源程序的编写、编辑与改错(领会);
1.2.集成环境下的求助Help(识记);
1.3.程序的编译与目标代码的生成(识记);
1.4.程序的调试(综合应用):1.5.了解TurboC程序的常见错误提示(识记)。
2重点编程题八位运算1.&2.|3.^4.~5.>————————————————版权声明:本文为CSDN博主「kaikai_sk」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kaikai_sk/article/details/106061539
2019/1/19 6:33:11 7.7MB C语言 大学课程
1
抽象且深入的讲解风险、风险评估、风险管理等基本概念、阐述风险评估与风险管理的关系、信息安全属性、风险评估的方法与流程、风险分析原理、风险计算方法、等保测评与风险评估的关系、安全保障体系建设、风险评估项目实施等
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡