1 #include <stdio.h> 2 #include <stdlib.h> 3 typedef struct Link { 4 int elem; 5 struct Link *next; 6 }link; 7 link * initLink(); 8 //链表插入的函数,p是链表,ele... ...
分类:
其他好文 时间:
2019-11-03 19:52:29
阅读次数:
57
1 数组 (1)数组的插入 如果是插入到最后,那么不用移动O(1),如果插入位置在中间为O(n).所以最好O(1),最坏O(N),平均O(N),为了插入能达到O(1),插入O(1).引入了链表 2 链表 单链表查找慢O(n),但是插入和删除O(1) 3 案例 (1)案例1 反转链表 c++版本 1 ...
分类:
其他好文 时间:
2019-11-03 16:46:29
阅读次数:
72
20182310 2019 2020 1 《数据结构与面向对象程序设计》第七周学习总结 教材学习内容总结 1.链表实现栈 data存放数据点 next下一节点 存储地址 数据域 单链表:只含一个指针域的链表 a 》 双向链表:《 a 》 地址不一定连续 要用链表实现栈,就要操作链表的两端。所以除了一 ...
分类:
其他好文 时间:
2019-11-03 13:05:18
阅读次数:
69
笔试: 1、实现单链表的插入和删除 2、只遍历一次单链表,找出中间位置的元素 3、组织机构树查询 一面: 1、讲一下String,String是线程安全的吗?StringBuffer和StringBuildder哪个是线程安全的? 2、讲一下HashMap,HashMap允许null值吗?扩容是怎样 ...
分类:
其他好文 时间:
2019-11-03 10:59:28
阅读次数:
97
二叉排序树 引入 基本性质: 二叉排序树(又叫二叉搜索、查找树) 1. 若左子树不空,则左子树上所有结点的值均 小于 它的根结点的值; 2. 若右子树不空,则右子树上所有结点的值均 大于 它的根结点的值; 3. 左、右子树也分别为二叉排序树。 4. 不允许有键值相同结点。 二分查找与二叉排序树 ? ...
分类:
编程语言 时间:
2019-11-03 01:05:13
阅读次数:
65
原文链接:https://www.cnblogs.com/DarrenChan/p/8807112.html 这三个排序的时间复杂度都是O(nlogn),所以这里放到一起说。 回到顶部 1. 快速排序# 快速排序(英语:Quicksort),又称划分交换排序(partition-exchange s ...
分类:
编程语言 时间:
2019-11-02 15:57:28
阅读次数:
116
题目 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Refere ...
分类:
其他好文 时间:
2019-11-02 13:26:41
阅读次数:
77
上一次的C++链表实现两个单链表的连接不太理想,此次听了一些视频课,自己补了个尾插法,很好的实现了两个链表的连接,当然了,我也是刚接触,可能是C++的一些语法还不太清楚,不过硬是花了一些时间尽量在数据结构中将c++的语言特点表现出来。一开始也是不愿意读c++的数据结构,只是一种挑战心里,不想读着读着 ...
分类:
编程语言 时间:
2019-11-02 11:58:31
阅读次数:
81
分库分表是高并发高可用系统的一个重要的点,互联网公司面试常常会问道。 为什么要分库分表(设计高并发系统的时候,数据库层面应该如何设计)? 首先要清楚,分库和分表是两回事,是两个独立的概念。分库和分表都是为了防止数据库服务因为同一时间的访问量(增删查改)过大导致宕机而设计的一种应对策略。 为什么要分库 ...
分类:
其他好文 时间:
2019-11-02 10:06:14
阅读次数:
90
题目: 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 代码: ...
分类:
其他好文 时间:
2019-11-02 00:03:14
阅读次数:
71