
数据结构和算法
主要用Java和C来实现,总结一些经典的算法
阿里学长
People with weak emotion will never earn the right to be appointed with high expectation responsibilities.
展开
-
单链表和顺序表中各种操作的核心代码
单链表查找第i个结点:while( p && j<i) //寻找第i个结点{ p = p->next; ++j;} 注释:P是指向表头的指针,j从头开始遍历。链表的插入:s->next = p ->next; /*将p的后继结点赋值给s的后继*/ p->next = s; /*将s赋值给p的后继*/...原创 2019-10-20 22:27:46 · 527 阅读 · 0 评论 -
数据结构中顺序表的插入与删除
顺序表插入算法思路如果插入位置不合理,抛出异常。如果线性表的长度大于数组的长度,则抛出异常或者动态增加容量。从最后一个元素遍历到第i个,然后将它们分别往后移动一个位置。将要插入的元素插入i 处,表长加1.实现代码:// 初始条件,顺序线性表已经存在,1<= i <=ListLength( L ),/* 操作结果:在L中第i个位置之前插入新的数据元 素e,L的长度...原创 2019-09-17 12:44:11 · 3049 阅读 · 0 评论 -
数据结构中 单链表的插入与删除
单链表的插入假设储存元素e的结点为 s ,现在要将结点s 插入到结点p 和 p->next之间。其实很简单,不像顺序表需要移动其他结点,只需要将s->next 和p->next的指针做一点改变即可。插入链表s之后,对于表头和表位的特殊情况也是一样的单链表第I 个数据插入结点的算法思路:声明一结点p指向链表第一个结点,初始化从1开始;当 j< i时, 就遍历链...原创 2019-09-17 15:23:32 · 2001 阅读 · 8 评论 -
计算机三级 ---- 数据库应用系统开发的方法(总述)
数据库应用系统开发的方法一、 规划与分析规划和定义:大概了解所要做的系统要处理的数据类型,所要实现的功能。任务陈述,描述所要开发的DBAS的总体目标。确定任务目标,明确总目标和DBAS支持的一系列数据管理和数据处理活动和任务。确定系统边界和范围,即定义该系统能做什么,不能做什么,能做到什么程度。确定用户视图,因为不同的身份的用户,他们所能访问的数据范围是不同的。可行性分析...原创 2019-09-19 21:05:48 · 337 阅读 · 1 评论 -
头指针 首元结点 头结点 的区分
区别:头指针:在线性表的链式存储结构中,头指针指的是指向第一个节点的指针,如果链表中有头结点,则头指针指向头结点,若链表不设头结点,则指向该链表的首元结点。首元结点:指链表中存储第一个元素的结点。头结点:头结点是在首元结点之前设的一个结点,其指针域指向首元结点,头结点的数据域可以不存储任何信息,也可以存储与数据元素类型相同的其他附加信息,如线性表的长度等。...原创 2019-10-06 22:42:24 · 2284 阅读 · 0 评论 -
数据结构中单链表的存储密度
数据结构中单链表的存储密度链表的每个节点除了数据域用来存储元素外,还要额外的设置指针域,用来存储用来存储指示元素之间的逻辑关系的指针。存储密度是指数据元素本身所占的存储量和整个结点结构所占的存储量之比。假设单链表数据元素本身的存储量为N,指针域所占的存储量为M,则存储密度为:N/(N+M)。存储密度越大,空间利用率越高,显然顺序表的存储密度为1,如果单纯的从存储密度来讲,链表的这种存储...原创 2019-10-07 19:54:34 · 24958 阅读 · 1 评论