自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 每日学习录

从上往下,从左往右逐个搜索:先判断每个是不是满足L形状;再判断每个周围八个方向是否只有两个。

2024-02-23 18:08:57 866 1

原创 每日学习录

41 3 6 9样例输出 #1117。

2024-02-22 14:16:20 838 1

原创 每日学习录(数据结构—排序)下

前面我们讲了简单选择排序,它在待排序的n个记录中选择一个最小的记录需要比较n-1次,可惜这样的操作并没有把每一趟的比较结果保存下来,在后一趟的比较中,有许多比较在前一趟已经做过了,但由于前一趟排序时为保存这些比较结果,所以后一趟排序时又重复执行了这些比较操作,因而记录的比较次数较多。就空间复杂度来说,主要是递归造成的栈空间的使用,最好情况,递归树的深度为log2n,其空间复杂度也就为O(logn),最坏情况,需要进行n-1递归调用其空间复杂度为O(n),平均情况,空间复杂度也为O(logn)。

2024-02-08 21:13:50 924

原创 每日学习录(数据结构—排序)上

假设含有n个记录的序列为{r1,r2,······.rn},其相应的关键字分别为{k1,k2,······,kn},需确定1,2,······,n的一种排序p1,p2,······,pn,使其相应的关键字满足kp1≤kp2≤······≤kpn(非递减或非递增)关系,即使得序列成为一个按关键字有序的序列{pp1,rp2,······rpn},这样的操作就称为排序。当最坏的情况,即待排序表是逆序的情况,次数需要比较1+2+3+···+(n-1)=n(n-1)/2次,并作等量级的记录移动。

2024-02-07 18:28:22 764 1

原创 每日学习录(数据结构—查找)下

存储位置 = f(关键字)那样我们查找关键字不需要比较就可获得需要的记录的存储位置。这就是一种新的存储技术——散列技术。散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。查找时,根据这个确定的对应关系找到给定值key的映射f(key),若查找集合中存在这个记录,则必定在f(key)的位置上。这里我们把这种对应关系f称为散列函数,又称为哈希(Hash)函数。按这个思想,

2024-02-06 19:33:38 840 1

原创 每日学习录(数据结构—查找)(上)

查找表(Search Table)是由同一类型的数据元素(或记录)构成的集合,如下图就是一个查找表。关键字(key)是数据元素中某个数据项的值,又称为键值,用它可以标识一个数据元素,也可以标识一个记录的某个数据项(字段),我们称为关键码,如下图①②。若此关键字可以唯一地标识一个记录,则称此关键字为主关键字(Primary Key)。这就意味着,对不同的记录,其主关键字均不相同。主关键字所在的数据项称为主关键码,如下图③④。

2024-02-05 18:52:12 890 1

原创 每日学习录(数据结构—图)(下)

尽管AOE网与AOV网都是用来对工程建模的,但它们还是有很大的不同,主要体现在AOV网是顶点表示活动的网,它只描述活动之间的制约关系,而AOE网是用边表示活动的网,边上的权值表示活动持续的时间,如下图对比。考虑到算法过程中始终要查找入度为0的顶点,我们在原来顶点表结点结构中,增加一个入度域in,结构如下表。在一个表示工程的带权有向图中,用顶点表示事件,用有向边表示活动,用边上的权值表示活动的持续时间,这种有向图的边表示活动的网,我们称之为AOE网(Activity On Edge Network)。

2024-02-02 20:23:43 783

原创 每日学习录(数据结构—图)(上)

无向边:若顶点vi到vj之间的边没有方向,则称这条边为无向边 (Edge),用无序偶对(vi, vj)来表示。如果图中任意两个顶点之间的边都是无向边,则称该图为无向图。如下图就是一个无向图,由于是无方向的,连接顶点A与D的边,可以表示成无序对(A,D),也可以写成(D,A)。对于此无向图G1来说,G1=(V1,{E1}),其中顶点集合V1={A,B,C,D};边集合E1={ (A,B) , (B,C) , (C,D) , (D,A) , (A,C) }。

2024-02-01 20:54:44 783 1

原创 每日学习录(数据结构—树)(下)

首先给出两棵叶子结点带权的二叉树(注:树结点间的边相关的数叫做权 Weight),如下图。从树中一个结点到另一个结点之间的分支构成两个结点之间的路径,路径上的分支数目称做路径长度。二叉树a中,根结点到结点D的路径长度为4,二叉树b中,根结点D的路径长度为2.树的路径长度就是从树根到每一结点的路径长度之和。二叉树a的树路径长度为1+1+2+2+3+3+4+4=20。二叉树b的树路径为1+2+3+3+2+1+2+2=16。带权路径长度WPL最小的二叉树称做赫夫曼树。

2024-01-31 21:21:00 921

原创 每日学习录(数据结构—树)(上)

二叉树 (Binary Tree) 是 n (n≥0) 个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。

2024-01-30 19:19:45 916 1

原创 每日学习录(数据结构—栈和队列)

栈的一个常见的现实应用:数学表达式的求值。“先乘除,后加减,从左算到右,先括号内后括号外”,计算机如何实现?这里的困难在于乘除在加减后,却要先运算,而加入了括号就变得更加复杂。但是括号是成对出现的,所以可以利用栈,碰到左括号时,就将此左括号压入栈,不管表达式有多少重括号,遇到左括号就进栈,而后面出现右括号时就让栈顶的左括号出栈,期间数字运算,栈就由空到有元素,最终再因全部匹配成功成为空栈。但是对于四则运算,括号只是其中一部分,先乘除后加减仍然复杂。

2024-01-29 20:33:28 795

原创 每周总结(数据结构+算法)

线性表》中的线性表的顺序存储结构、线性表的链式存储结构、单链表的操作、静态链表、循环链表、双向链表;先讲的是一些总体的介绍帮助我对这本书的内容有个大致的了解,然后前还有一些前置的基本知识,只有先看懂前面的才能帮助我更好的理解后面的内容。5.nextval:我们可以通过一次匹配信息,知道模式串中必定与主串当前索引位置不匹配的值—— a ,所以如果我们通过 next[] 找到的值也为 a 的话,我们直接知道也必定匹配不成功,将往前继续查找能匹配的值。1.串的比较:通过字符之间的ASCII码值进行比较。

2024-01-28 20:43:55 363

原创 每日学习录(数据结构-串)

零个或多个字符有限字符串。

2024-01-28 19:05:20 854

原创 每日学习录(线性表)

线性表的两种物理结构的第一种用一段地址连续的存储单元依次存储线性表的数据元素。特点:用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。意味着这些数据元素可以存储在内存中未被占用的任意位置。链式结构中,每个数据元素不只要存储数据元素信息,还要存它的后继元素地址。

2024-01-26 21:13:11 823

原创 每日学习录(数据结构绪论+算法)

不管常数时多少都是O(1)对于单纯分支结构(不包含在循环结构中),无论真假,执行的次数都是一定的,不会随着n的变大而变大,其时间复杂度也是O(1)

2024-01-25 22:32:18 895 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除