本博客在在这里重新总结了一下,当前常用的经典数据结构;这里只针对链表,顺序表,简单树和图进行总结;具体实现请参考:https://github.com/yaowenxu/codes/tree/master/数据结构; 本文章,主要讨论数据结构的性质;以及对这些数据结构的性质;主要是用来知识整理与复习 ...
分类:
其他好文 时间:
2020-03-28 17:42:24
阅读次数:
91
题目链接:6-1 单链表逆转 (20分) 方式一:递归逆置单链表 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <math.h> 4 #include <string.h> 5 #include <ctype.h> 6 7 #define ...
分类:
其他好文 时间:
2020-03-28 09:13:17
阅读次数:
286
/** * * 问题: 复制含有随机指针节点的链表 * * 分析: * 给定一个由Node节点类型组成的无环单链表的头节点head, 请实现一个函数完成这 * 个链表中所有结构的复制, 并返回复制的新链表的头节点。例如: 链表1->2->3->null, * 假设1的 rand指针指向3, 2的 r ...
分类:
其他好文 时间:
2020-03-25 13:25:28
阅读次数:
61
一、单链表是否有环 思路分析: 单链表有环,是指单链表中某个节点的next指针域指向的是链表中在它之前的某一个节点,这样在链表的尾部形成一个环形结构。判断链表是否有环,有以下几种方法。 1 // 链表的节点结构如下 2 typedef struct node 3 { 4 int data; 5 st ...
分类:
其他好文 时间:
2020-03-24 12:34:29
阅读次数:
84
下图为最一简单链表的示意图: 第 0 个结点称为头结点,它存放有第一个结点的首地址,它没有数据,只是一个指针变量。以下的每个结点都分为两个域,一个是数据域,存放各种实际的数据,如学号 num,姓名 name,性别 sex 和成绩 score 等。另一个域为指针域,存放下一结点的首地址。链表中的每一个 ...
分类:
编程语言 时间:
2020-03-24 11:06:20
阅读次数:
110
"链表的中间结点" 题目 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例1 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5 ...
分类:
其他好文 时间:
2020-03-23 12:35:40
阅读次数:
62
给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ...
分类:
其他好文 时间:
2020-03-23 09:28:43
阅读次数:
78
Session用于事务管理、增删查改等,相当于JDBC的Connection。可使用Transaction代替事务操作。 Session只能通过SessionFactory获取 Session不建议多线程共享使用。 事务管理 开启事务 session.beginTransaction(); 事务提交 ...
分类:
Web程序 时间:
2020-03-22 16:16:22
阅读次数:
138
160.相交链表 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出: ...
分类:
其他好文 时间:
2020-03-20 11:11:36
阅读次数:
71
1. 跳跃表的原理 学过数据结构的都知道,在单链表中查询一个元素的时间复杂度为O(n),即使该单链表是有序的,我们也不能通过2分的方式缩减时间复杂度。 如上图,我们要查询元素为55的结点,必须从头结点,循环遍历到最后一个节点,不算-INF(负无穷)一共查询8次。那么用什么办法能够用更少的次数访问55 ...
分类:
其他好文 时间:
2020-03-17 08:23:47
阅读次数:
52