- 博客(16)
- 收藏
- 关注
原创 第十五章 动态规划_思考题
第15章动态规划_思考题概要概要题目很多但是每题都很经典,有的题目确实是想了很久也没有一个合理的解答(可以说过程很痛苦),故有部分答案是参照别人的做法。有一部分是根据自己的理解来解题,不足之处会慢慢修改。15.1 (有向无环图中的最长简单路径) 给定一个有向无环图G=(V,E),边权重为实数,给定图中两个顶点s和t。设计动态规划算法,求从s到t的最长加权简单路径。子问题图是怎么样的?算法的效...
2020-01-27 02:04:23
835
2
原创 数据库:事务
假设有一个商品销售网站在出售一款商品A,用户选择了该商品A,此时商品A还是有货的状态,但是当用户结账时候,该商品A已经售罄了。1.可重复读:只允许读取已经提交的数据,并进一步要求在一个事务两次读取一个数据项期间,其他事务不能更新该数据项。2.杀死事务 通常为语句逻辑错误而杀死事务,此时事务必须进行重新编写后再进行执行。事务T1将账户A的50元转到账户B,而事务T2将账户A的1/10转到账户B。如下图1-4的执行顺序,它的执行结果和图1-1是不一致的。· 活跃(active) 该状态为事务执行的初始状态。
2023-09-05 23:23:33
348
原创 索引 概念
数据库系统中文件索引的工作方式非常类似书本的索引,即可以在书本的索引定位章节并找到出现的页。为了在数据库中检索一条给定ID的student数据,数据库系统会查找索引,找到相应记录的磁盘块,然后读取磁盘块得到所需的student记录。但是用ID来实现student的索引是非常不合理的,这里引出了三个问题:1.索引本身可能会非常庞大2.当一名学生从数据库中被添加或被删除时候以ID为索引的这种数据结构也要相应的维护,而这个维护代价非常昂贵。1.顺序索引(ordered Index):基于值的顺序索引。2
2023-05-23 22:59:47
345
1
原创 c# TCP通信编程
目录协议类JSON协议类XML协议类通信信息适配协议类 public abstract class Protocol<TMessageType> { const int HEADER_SIZE = 4; public async Task<TMessageType> ReceiveAsync(NetworkStream networkStream) { var bodyLength = awai
2021-08-02 23:16:33
333
原创 第22章 基本图的算法
第22章 基本图的算法概要22.1图的表示22.1练习概要介绍图的表示和图的搜索。图的搜索指的是系统化地跟随图中的边来访问图中的每个节点。图搜索算法可以用来发现图的结构。许多的图算法在一开始都会先通过搜索来获得图的结构,其他一些图算法则是对基本的搜索加以优化。可以说,图的搜素技巧是整个图算法领域的核心。22.1图的表示对于图G=(V,E),可以用两种标准表示方法表示。一种表示法将图作为邻接链表的组合,另一种是将图作为邻接矩阵来看待。两种表示方法都可以表示无向图,也可以表示有向图。此处略过了矩阵的实
2021-07-19 23:26:47
239
2
原创 第十五章 动态规划(最优二叉搜索树)
第15章动态规划(最优二叉搜索树)15.5 最优二叉搜索树15.5 练习说在前面的话:为什么单独拿出来发?1.由于排版篇幅问题,放一起太长没人愿意看吧。2.单纯想增加投稿数量。(毕竟今天都没怎么发过文)15.5 最优二叉搜索树最优二叉搜索树的问题的形式可以定义如下:给定一个n个不同关键字的已排序的序列K=<K1,K2,…,Kn>(因此k1<k2…<kn),我们希望用这些关键字构造一棵二叉树搜索树。对每个关键字ki,都有一个概率pi表示其搜索频率。**有些搜索值可能不在
2021-07-13 00:36:15
4202
原创 第十八章 B树
第18章B树概要18.1 B树定义18.2 B树的基本操作18.2 从B树中删除关键字概要施工中18.1 B树定义施工中18.2 B树的基本操作基本操作主要包括:搜索B树,创建空B树,插入关键字。18.3放出删除关键字的代码。 class Program { static void Main(string[] args) { var t = new BTree<int>(2); B_TR
2021-03-01 22:59:42
225
原创 连续出现数字
来源:**力扣(LeetCode)**的一道小题目,内容如下:编写一个 SQL 查询,查找所有至少连续出现三次的数字。±—±----+| Id | Num |±—±----+| 1 | 1 || 2 | 1 || 3 | 1 || 4 | 2 || 5 | 1 || 6 | 2 || 7 | 2 |±—±----+例如,给定上面的 Logs 表, 1 是唯一连续出现至少三次的数字。±----------------+| Consecut
2020-06-03 23:47:17
198
原创 第二十三章 最小生成树
第23章最小生成树概要23.0 回顾:二叉堆的实现概要在连通无向图G=(V,E)中中,我们希望找到一个无环子集T⊆E,既能将所有的结点V连接起来,又具有最小的权重,既ω(T) = ∑(u,v)∈Tω(u,v)\displaystyle\sum_{(u,v)∈ T}ω (u,v)(u,v)∈T∑ω(u,v)的值最小。由于T是无环且连通所有结点,因此T必然是一颗树。我们称这样的树为生成树,求这样...
2020-02-09 02:45:00
307
原创 第14章 Promise对象
第14章 Promise对象概要14.1 Promise的含义14.2 基本语法概要Promise是异步编程的一种解决方案,比传统的解决方案(回调函数和事件)更合理更强大。在学习本章前有必要去了解一下js的Event Loop机制。14.1 Promise的含义Promise对象有两个特点:1.对象的状态不受外界影响。Promise对象代表一个异步操作,有3种状态:Pending(进行...
2020-02-05 00:09:18
579
原创 第4章 字符串的扩展
第4章 字符串的扩展概要4.1 字符的Unicode表示法概要ES6加强了对Unicode的支持,并且扩展了字符串对象。4.1 字符的Unicode表示法可以用‘\u0061’这种’\uxxxx’的形式表示一个字符,但是可以看到这种表示法只限于码点范围在\u0000到\uFFFF的字符。像’\u20BB7’这种字符...
2020-02-01 01:45:57
134
原创 第2章 let和const命令
第2章 let和const命令概要2.1 let命令2.1.12.1.2 不存在变量提升2.1.3 暂时性死区2.1.4 不允许重复声明2.2块级作用域2.2.3 块级作用域与函数声明2.3 const命令概要ES6提出了两个新的声明变量的命令:let和const。其中,let完全可以取代var,因为两者语义相同,而且let没有副作用。在本章里面先着重讨论let,衍生出关于块级作用域的概念...
2020-01-31 02:10:23
142
原创 第十五章 动态规划
temp class Program { static void Main(string[] args) { var a = new int[] { 4, 8, 1, 2, 5, 11 }; //var s = Execute(a); var s = ExecuteEx(a);...
2020-01-26 02:17:52
274
原创 第十四章 数据结构的扩张
第14章数据结构的扩张概要14.1动态顺序统计概要本章节讨论的数据结构均是通过对红黑树的扩张所构造的。14.1介绍了动态集合上顺序统计操作的数据结构;14.2抽象出数据结构的扩张过程;14.3介绍了区间数。14.1动态顺序统计顺序统计的概念在《算法导论》的前面章节已经做过介绍,对于一个无序的集合,可以在O(n)时间内确定任何的顺序统计量。本章节介绍如何修改红黑树,使得可以在O(lgn)时间...
2020-01-05 21:24:33
473
原创 第十二章 二叉搜索树
第12章二叉搜索树概要基本操作的代码实现12.4随机构建二叉树第12章思考题概要施工中基本操作的代码实现基本操作包括Inorder_Tree_Walk、Minimum、Successor、Insert、Delete等。(主要是用c#实现,部分会在日后补上) #region "二叉树基本操作" /// <summary> /// 非递...
2019-12-15 15:49:40
247
原创 第十三章 红黑树
第13章红黑树概要红黑树的性质13.1练习概要红黑树是许多“平衡”搜索树中的一种,可以保证在最坏情况下基本动态集合操作的时间复杂度是O(logn)。红黑树的性质一概而言之,总共分为四个性质:每个结点或是红色,或是黑色。根结点是黑色的,叶结点也是黑色的。红结点的两个子结点必然是黑色的。从一个结点(不包含该结点)到其后代叶结点的简单路径上,均包含相同数目的黑色结点(即黑...
2019-12-15 03:05:39
1255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅