2 橘子k

尚未进行身份认证

暂无相关简介

等级
TA的排名 20w+

数据结构笔记:排序

排序的基本概念排序:给定一组记录的集合{r1, r2, ……, rn},其相应的关键码分别为{k1, k2, ……, kn},排序是将这些记录排列成顺序为{rs1, rs2, ……, rsn}的一个序列,使得相应的关键码满足ks1≤ks2≤……≤ksn(称为升序)或ks1≥ks2≥……≥ksn(称为降序)。正序:待排序序列中的记录已按关键码排好序。逆序(反序):待排序序列中记录的排列顺序与排...

2019-12-24 09:50:11

数据结构笔记:查找

查找的基本概念列表:由同一类型的数据元素组成的集合。关键码:数据元素中的某个数据项,可以标识列表中的一个或一组数据元素。键值:关键码的值。主关键码:可以唯一地标识一个记录的关键码。次关键码:不能唯一地标识一个记录的关键码。查找 :在具有相同类型的记录构成的集合中找出满足给定条件的记录。查找的结果 :若在查找集合中找到了与给定值相匹配的记录,则称查找成功;否则,称查找失败。静态...

2019-12-24 09:44:35

数据结构笔记:图论

图的遍历有两种存储方式:邻接矩阵和邻接表在一些顶点数目比较大(一般顶点个数在1000以上)的情况下,使用邻接表而不是邻接矩阵来存储图。如果是稀疏图,用邻接表,如果是稠密图,用邻接矩阵。深度优先搜索dfs遍历图按深度优先的方式访问所有未被访问的结点,在结点被访问过后标记为已访问dfs(u) {vis[u] = true;for(从u除法道能到达的所有顶点v) if...

2019-12-01 22:33:26

数据结构笔记:二叉树

树:n(n≥0)个结点的有限集合。当n=0时,称为空树;任意一棵非空树满足以下条件:⑴ 有且仅有一个特定的称为根的结点;⑵ 当n>1时,除根结点之外的其余结点被分成m(m>0)个互不相交的有限集合T1,T2,… ,Tm,其中每个集合又是一棵树,并称为这个根结点的子树。结点的度:结点所拥有的子树的个数。树的度:树中各结点度的最大值。叶子结点:度为0的结点,也称为终端结点。...

2019-11-23 16:29:02

数据结构笔记:字符串和数组

字符串 子串:串中任意个连续的字符组成的子序列。主串:包含子串的串。 子串的位置:子串的第一个字符在主串中的序号。 串的存储结构 顺序串:用数组来存储串中的字符序列。链接串:用链接存储结构来存储串。 模式匹配:给定主串S="s1s2…sn"...

2019-11-09 16:55:42

数据结构笔记:栈与队列

栈:限定仅在表尾进行插入和删除操作的线性表。空栈:不含任何数据元素的栈。允许插入和删除的一端称为栈顶,另一端称为栈底。栈的数据类型定义:ADT StackData栈中元素具有相同类型及后进先出特性,相邻元素具有前驱和后继关系OperationInitStack前置条件:栈不存在输入:无功能:栈的初始化输出:无后置条件:构造一个空栈DestroyStack前置条件:栈...

2019-10-27 15:12:18

数据结构笔记:顺序表、单链表以及循环链表

线性表顺序表:线性表的顺序存储结构成为顺序表。一般用数组来完成定义,存储值以及线性关系。数组实现线性表,也就是把线性表中相邻的元素存储在数组中相邻的位置,从而导致了数据元素的序号和存放它的数组下表之间具有一一对应的关系。特点:线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素,作用:线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素...

2019-09-21 11:47:06

数据结构笔记:关于算法的认知以及模板的定义

数据结构是一组值的集合以及定义于这个值集上的一组操作的总称。算法的特点:1有穷性2确定性3可行性4输入5输出算法描述:自然语言、流程图、程序设计语言、伪代码算法的时间复杂度:只考察当前问题规模充分大时,算法中基本语句的执行次数在渐进意义下的阶,乘坐算法的渐进时间复杂度,通常用O表示。算法的空间复杂度:指算法在执行过程中需要的辅助空间的数量,也就是除算法本身和输入输出数据所占用的空间...

2019-09-21 11:44:24

软件开发心得

软件开发心得体会程学设计学习到现在已经做了几个小系统了,通讯录、银行管理等等。功能也从只有最初步的功能到比较完善的地步。我对系统的设计也从一点儿也不懂到了略微懂得皮毛,可以初步设计初步完成一个系统。下面是我对于软件开发的心得:我对于做软件的一般步骤就是1根据要求构思2整理想法初步设计3编写代码4测试数据寻找bug。软件的设计:软件开发的首要要求就是客户提出的,我们需要根据客户提出的要求来...

2019-06-23 15:57:34

C++程序设计学习总结

C++课程设计学习总结c++课程设计到现在已经结课了,在这段期间有学习了很多新的知识还有感想。对于大多数知识都从一点儿也不懂到一知半解又到了可以初步运用,但是大部分知识到达熟练掌握还是有一定的差距。所以很多知识还是需要更多的运用更多的练习才能够熟练掌握。在后来的这一部分时间中我学习的知识总共分为三大章:运算符重载、组合与继承、虚函数与多态性。运算符重载:听老师讲,这是c++中最好用的部分了,其...

2019-06-20 11:32:04

ACM最短路径算法

边带有权值的图称为带权图。边的权值可以理解为两点之间的距离。一张图中任意两点间会有不同的路径相连。最短路径就是指连接两点的这些路径中最短的一条。当遇到问题的时候,我们有几种种算法可以有效地解决最短路径问题。有一点需要读者特别注意:边的权值可以为负。当出现负边权时,有些算法不适用。...

2019-05-25 22:51:09

ACM图论学习总结二

图的遍历:深度优先与广度优先遍历  从图中某一顶点出发系统地访问图中所有顶点,使每个顶点恰好被访问一次,这种运算操作被称为图的遍历。为了避免重复访问某个顶点,可以设一个标志数组visited[i],未访问时值为false,访问一次后就改为true。  图的遍历分为深度优先遍历和广度优先遍历两种方法,两者的时间效率都是O(n*n)。  深度优先遍历  深度优先遍历与深搜DFS相似,从一个点...

2019-05-22 23:23:04

ACM图论基础学习总结一

一、什么是图?  很简单,点用边连起来就叫做图,严格意义上讲,图是一种数据结构,定义为:graph=(V,E)。V是一个非空有限集合,代表顶点(结点),E代表边的集合。二、图的一些定义和概念(a)有向图:图的边有方向,只能按箭头方向从一点到另一点。(a)就是一个有向图。(b)无向图:图的边没有方向,可以双向。(b)就是一个无向图。基本概念:结点的度:无向图中与结点相连的边的数目,称为结...

2019-05-18 22:55:13

ACM二叉树学习总结二

二叉树基本概念: 二叉树(binary tree,简写成BT)是一种特殊的树型结构,它的度数为2的树。即二叉树的每个结点最多有两个子结点。每个结点的子结点分别称为左孩子、右孩子,它的两棵子树分别称为左子树、右子树。 前面引入的树的术语也基本适用于二叉树,但二叉树与树也有很多不同,如:首先二叉树的每个结点至多只能有两个结点,二叉树可以为空,二叉树一定是有序的,通过它的左、右子树关系体现出...

2019-05-15 22:38:26

ACM树及二叉树学习总结

树的概念: 一棵树是由n(n>0)个元素组成的有限集合,其中:(1)每个元素称为结点(node);(2)有一个特定的结点,称为根结点或树根(root);(3)除根结点外,其余结点能分成m(m>=0)个互不相交的有限集合T0,T1,T2,……Tm-1。其中的每个子集又都是一棵树,这些集合称为这棵树的子树。树的存储结构:方法1:数组,称为“父亲表示法”。  const int m...

2019-05-11 22:59:27

ACM数据结构学习小结

数据结构在acm课刚开始的时候已经大体学习过。以下是数据结构的小部分内容。栈:栈是只能在某一端插入和删除的特殊线性表。进行删除和插入的一端称栈顶,另一堆称栈底。插入一般称为进栈(PUSH),删除则称为退栈(POP)。 栈也称为后进先出表(LIFO表)。一个栈可以用定长为N的数组S来表示,用一个栈指针TOP指向栈顶。若TOP=0,表示栈空,TOP=N时栈满。进栈时TOP加1。退栈时TOP减1。...

2019-05-08 22:45:31

ACM三分法学习小结

三分法当需要求某凸性或凹形函数的极值,通过函数本身表达式并不容易求解时,就可以用三分法不断逼近求解。类似二分的定义Left和Right mid = (Left + Right) / 2 midmid = (mid + Right) / 2;如果mid靠近极值点,则Right = midmid;否则(即midmid靠近极值点),则Left = mid;当需要作用二分法三分法的时候...

2019-05-04 22:07:24

ACM单调队列学习小结

单调队列解释为:队列中元素之间的关系具有单调性,而且,队首和队尾都可以进行出队操作,只有队尾可以进行入队操作。。单调队列的常用操作如下:(1)插入:若新元素从队尾插入后会破坏单调性,则删除队尾元素,直到插入后不再破坏单调性为止,再将其插入单调队列。(2)获取最优(最大、最小)值:访问首尾元素。一组数(1,3,2,1,5,6),进入单调不减队列的过程1入队,得到队列(1);3入队,得到...

2019-05-01 20:43:26

ACM位运算学习小结

位运算左移运算符(<<)把一个整型数的所有位向左移动指定的位数,并从右边界移入0。例:14<<2这里的整型数为14,指定的位数为2,所以值为5614转化为二进制为1110,56转化为二进制为111000实际上可以看成14*4左移运算符(>>)同上&(and)相同位的两个数字都为1,则为1;若有一个不为1,则为0。判断二进制下有没有间...

2019-04-27 22:40:58

ACM二分法学习小结

1、二分查找 二分查找又称折半查找,它是一种效率较高的查找方法。 二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。2、二分查找的基本思想 二分查找的基本思想是(1)首先确定该区间的中点位置:(2)然后将待查的K值与R[mid].key比较:若相等,则查找成功并返回此位置,否则须确定新的查找区间,继续二分查找,具体方法如下:...

2019-04-24 22:38:51

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。