自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

redAnt的博客

有梦想,爱学习,实力派

  • 博客(270)
  • 资源 (2)
  • 收藏
  • 关注

原创 挑战408——数据结构部分目录

前言挑战408——数据结构(1)——个人的一些学习方法算法基础概念挑战408——数据结构(2)——选择排序算法挑战408——数据结构(3)——Big-O表示法挑战408——数据结构(4)——Big-O表示法(2)挑战408——数据结构(5)——合并算法挑战408——数据结构(6)——标准复杂类挑战408——数据结构(7)——快速排序算法挑战408——数据结构(8)——快速排序算法...

2019-10-31 22:30:36 922

原创 C++学习与基础算法专栏目录

函数C++抽象编程——函数与库C++中的值传递和引用传递接口C++抽象编程——接口(1)——.h文件与.cpp文件的建立 C++抽象编程——接口(2)——接口的用途 C++抽象编程——接口(3)——接口设计的重点 C++抽象编程——接口(4)——随机接口的设计C++抽象编程——接口(5)——随机数算法C++抽象编程——接口(6)——设置随机数种子C++抽象编程——接口总结——随机

2017-05-26 00:49:16 3324 4

原创 私人工具集6——使用C# 创建一个简单的restful风格的WebAPI

c# 创建一个简单地额restful风格的WebApi

2023-04-24 14:46:22 3288 1

原创 windows服务器实用(6)——gitbook安装与部署

本地在线文档的搭建(前篇)

2023-03-18 12:26:42 2939

原创 windows服务器实用(5)——服务器文件URL(补充)

服务端的URL解析。

2023-03-18 12:00:36 2006

原创 windows服务器实用(4)——使用IIS部署网站

使用iis部署网站

2023-02-26 20:34:30 2742

原创 windows服务器实用(3)——文档管理(gitbit + git的简单使用)

windows服务器gitbit的基本使用

2023-02-26 19:31:27 676

原创 windows服务器实用(2)——搭建本地文档管理(gitbit的部署)

windows端gitbit的部署。

2023-02-26 19:15:24 1302

原创 windows服务器实用(1)——服务器基本配置

因为后续要部署网站,因此此服务器需要有iis功能。打开服务管理器,在仪表板中添加角色和功能。首先你得有干净的windows服务器一台。(一般腾讯云,阿里云服务器都可以,记住它的IP)部分应用可能会用到低版本的.net版本,因此建议勾选上3.5的选项。查看对应的磁盘配置(仅做参考,不一定要这么分,建议这么分)查看服务器内存配置(仅做参考)

2023-02-25 23:02:07 1815

原创 window服务器实用——前言

单位服务器资源充足,想着申请一台折腾。

2023-02-25 22:50:36 136

原创 私人工具集7——webapi中的Token时效性验证

token设置有效期

2022-02-19 17:38:43 1896

原创 私人工具集6——webapi中的Token功能

c# webapi中的token实现类工具

2022-02-16 11:44:18 1950

原创 私人工具集5——C#数据库操作类(DBHelper)

子曰:工欲善其事,必先利其器数据库操作类,包括 SqlServer,mysql,oracle,sqlite

2022-02-14 16:08:46 2396

原创 私人工具集4——C#加密解密类(CryptoHelper)

c# 实现的工具集,用于加密、解密。(3DES、MD5、RSA)

2022-02-06 22:36:46 1784

原创 私人工具集3——JSON组装类(C#)

.net功能工具集,JSON组装类。

2022-02-06 21:26:08 1547

原创 私人工具集1——C#自定义配置类(Config)

c# 常用工具集——配置

2022-02-05 19:54:12 2277

原创 c# webApi 获取不到入参,强制输入json解决方案

问题描述做一个登录模块,提供api给前端调用,发现死活拿不到入参。最开始的写法如下: public string Login([FromBody] string InData) { //读取登录json Log.AddTrack("LoginController.Login", "Begin"); Log.AddTrack("LoginController.Login", "收到入参:" + InData);

2021-10-17 17:54:27 1676

原创 挑战408 ——数据结构(2)——一切从编辑器开始说起

知乎地址:理论编程——一切从一个简单的编辑器开始

2021-03-28 21:07:21 229

原创 挑战408——数据结构(1)——前言

这一块是本人最喜欢的内容,所以撇开课本讲概念,以通俗易懂的例子讲数据结构,以代码讲算法。此类型文章,首发于知乎。理论编程——前言

2021-03-28 21:03:48 213

原创 私人工具集2——C#日志操作类(LogHelper)

github地址:此分享内容,仅仅为本人个人理解,仅供参考浅谈程序日志日志,记录系统运行情况的一个文本。没错,就是一个文本,可以以txt为后缀结尾,通常情况下以.log为后缀。通常一个公司不只有一个业务系统,因此,日志文件又通常以系统名称+日期的格式命名。甚至有些日志系统以xml的文档形式存储(如windows的内部日志)。日志可以帮助开发人员和运维人员快速定位问题,同时观察系统运行的情况,耗时。如下是一个示例:通常系统的根目录都有一个log名的文件夹(目录),用于存放产生的日志,便于..

2021-02-27 13:04:35 2423

原创 编程原理(C#)——怎么理解接口

以下文章涉及概念理解纯属博主个人理解。如有错误,欢迎批评指正接口接口,一个抽象又简单的概念。本人工作的时候,最常与他们打交道。接口可以简单理解为提供某种功能的一个工具。通过这个工具我们可以得到我们想要的数据或者结果而不必知晓内部的具体逻辑,从而进行系统之间或者各类工具之间的数据交互。举个例子,我们去自动贩卖机买饮料,我们按价格提供货币,自动贩卖机就会把我们需要的饮料掉下来给我们。对于我们而言,我们不关心贩卖机是怎么做到的,我们只关心有没有拿到我们要的饮料。而贩卖机的厂家只关心你有没有收到你投入..

2020-12-12 19:49:20 470

原创 挑战408——一周网络——网络层(4)

随着互联网的飞速发展,到2011年2月,IPV4的地址已经耗尽。虽然我们可以通过划分子网和构成超网的方式来缓解IPV4地址紧张的问题,但是解决IP地址耗尽的根本措施就是采用具有更大空间的新版本——IPV6。对比IPV4,新版本的IPV6变化如下:地址空间更大。地址从原有的32位扩充为128位,从2322^{32}232到21282^{128}2128,地址扩充了近2962^{96}296倍。...

2019-12-02 10:28:39 834

原创 挑战408——操作系统(25)——I/O系统及其设备

这部分内容是结合组成原理一起总结的,因为这部分内容两个科目的重叠度还是很高的。于是放在这里一起总结。I/O系统的发展阶段早期阶段早期的I/O系统,I/O设备比较少,所以大部分的I/O设备都是直接跟Cpu交互的:显然这种模式下是以串行方式进行的,且和浪费CPU的时间,再者这种直接与CPU交互的方式使得I/O设备的扩展或者移除不具有灵活性。接口模块与DAM阶段通常,接口中设有数据通路,...

2019-11-30 17:26:12 719

原创 挑战408——一周网络——网络层(3)

路由选择协议我们都知道,ip数据报是根据路由表进行转发的,那么路由表又是如何得出的呢?

2019-11-24 23:00:30 778

原创 挑战408——数据结构(32)——折半查找法

折半查找这种思想其实我们之前就已经接触过挑战408——数据结构(20)——二叉搜索树(BST)。这里我们同样采用相同的方式来实现在顺序表中是怎么使用这种思想来查找的。一个数组查询的实例查找问题,可以简单理解为我们有大量的数据,我们怎么样可以在这大量的数据中快速找到需要的数据?假设我们有一个已经排好序的数组:那么在这个数组中,查到我们需要的数据需要多长时间?显然,如果我们从头开始并向前查找...

2019-11-23 14:05:26 723

原创 挑战408——数据结构(31)——Hash表的基本操作和冲突避免

从上一篇博文我们知道,哈希表是一种以关联方式存储数据的数据结构。 在哈希表中,数据以数组格式存储,其中每个数据值都有其自己的唯一索引值。 如果我们知道所需数据的索引,则数据访问将变得非常快。因此,它成为一种数据结构,其中插入和搜索操作非常快,而与数据的大小无关。 哈希表使用数组作为存储介质,并使用哈希技术生成要在其中插入元素或从中定位元素的索引。hash表实例散列是一种将键值范围转换为数组索...

2019-11-21 00:09:36 629

原创 挑战408——数据结构(30)——Hash表与Hash函数

hash函数的引入在介绍hash函数之前,先说个实际的例子。我是个比较乱的男生,袜子啊,书籍什么的都乱扔。那么哪天如果要找某件东西,在最坏的情况下,你需要找遍你房间的所有角落。但是,如果你是个爱收拾的男生,那么你要找某件东西的话,直接去对应的地方去寻找就好了。如果用算法复杂度表示,那么前者就是O(N)(因为最坏的情况是你要找遍所有的地方)和后者是O(1)。我们现在思考,能不能将这样的结构用于数据...

2019-11-20 22:09:27 914 1

原创 挑战408——数据结构(29)——最短路径算法(Dijkstra's Algorithm)

在图中,给每一条路径带上一定的权重,这样的图我们称为带权图。如下图所示:带权图我们现在来回顾一下BFS跟DFS的基本思想:深度优先搜索:继续沿着路径搜索,直到我们需要回溯,但这种方式不保证最短路径。广度优先搜索:查看包含距离1的邻居,然后是距离2的邻居等的路径,直到找到路径,这种方式保证最短路径。但这两种方法都是无法处理带权图的问题。举个例子由A到D的最短路径是什么?我...

2019-11-20 10:28:49 1195 1

原创 挑战408——数据结构(28)——图的应用之拓扑排序

一个无环的有向图称为有向无环图(DAG)。图的顶点可以表示要执行的任务,并且边可以表示一个任务必须在另一个之前执行的约束; 在这个应用程序中,拓扑排序只是任务的有效序列。 当且仅当图形没有有向循环时,即如果它是有向无环图(DAG),则可以进行拓扑排序。 任何DAG都具有至少一个拓扑排序。这种用弧来表示活动之间的优先级关系的有向图,称为顶点表示的活动的网(简称AOV网)。拓扑排序(Topologi...

2019-11-19 22:54:38 616

原创 挑战408——数据结构(27)——图的应用之最小生成树

图在我们现实生活中具有极其广泛的应用,我们这篇博文着重从以下几点展开分析:网络路由与路由选择(Internet routers and traceroute)拓扑排序(Topological Sort)最小生成树(Minimum Spanning Trees)Kruskal’s 算法(Kruskal’s algorithm)路由选择实际上我们在学习网络的时候就已经接触过图。在《计算...

2019-11-19 15:10:36 518

原创 挑战408——数据结构(26)——广度优先搜索算法(BFS)思想

尽管深度优先搜索具有许多重要用途,但该策略也具有不适合某些应用程序的缺点。 深度优先方法的最大问题在于它从其中一个邻居出发,在它返回该节点或者是访问其他邻居之前,它必须访问完从出发节点开始的整个路径。 如果我们尝试在一个大的图中发现两个节点之间的最短路径,则使用深度优先搜索会将我们一直带到图的远端,即使我们的的目的地离我们的出发点仅有一步之遥。广度优先搜索广度优先搜索(Breadth-firs...

2019-11-18 10:13:55 797

原创 挑战408——数据结构(25)——深度优先搜索算法(DFS)思想

图由顶点及其边组成,图的遍历主要分为两种:遍历所有顶点遍历所有边图的遍历我们只讨论第一种情况,即不重复的列出所有的顶点,主要有两种策略:深度优先搜索(DFS),广度优先搜索(BFS)为了使深度和广度优先搜索的实现算法的机制更容易理解,假设提供了一个名为visit的函数,它负责处理每个单独节点所需的任何处理。 因此,遍历的目的是按照确定的连接顺序在每个节点上调用且仅调用一次该函数。 因...

2019-11-17 23:33:22 722

原创 挑战408——数据结构(24)——图的存储与矩阵压缩

图的存储方式在实践中,存储图最常见的策略是:将每个节点的连接存储在邻接列表中。将整个图形的连接存储在邻接矩阵中。用邻接链表来表示图之间的关系在图中表示连接的最简单方法是在每个节点的数据结构中存储与其连接的节点的列表。该结构称为邻接列表。 例如,在航空公司图表中每一个节点连接的相邻节点构成一个邻接表,就像这样:现在我们来讲将上图的内容抽象化:假设我们现在有个有向图:根据定...

2019-11-17 14:40:20 2496 1

原创 挑战408——数据结构(23)——树与图

我们先回顾一下之前介绍的树的概念,在树的定义中,每个节点只能有一个父类,并且树中不能出现有环形。但是你可曾想过,当一棵树没有任何规则的时候,会发生什么吗?图的简介现在,我们给图(graph)下一个定义:图,是一种用节点和边来表示相互关系的数学模型。(A graph is a mathematical structure for representing relationships using...

2019-11-17 13:57:42 756

原创 挑战408——组成原理(28)——系统总线

总线的基本概念计算机系统的五大部件之间连接的方式有两种,一种是各部件之间使用单独的连线,称为分散连接。一种是将各部件连到一组公共信息传输线上,称为总线连接。总线是连接多个部件的信息传输线,是各部件共享的传输介质,当多个部件与总线项链时,如果出现两个或者两个以上部件想总线发送信息,势必导致总线上的信号冲突,传输无效,因此在某一时刻,只允许有一部件发送信息,而多个部件可以从总线上接收相同信息。常...

2019-11-13 22:40:58 1233

原创 挑战408——数据结构(22)——平衡二叉树与AVL算法

平衡树介绍前几篇的文章我们介绍了一下二叉树和二叉搜索树。现在假设我们要建立一棵BST,依次插入下列数据:20, 33, 50, 61, 87, 99那么按照BST的规则我们可以得到下列的BST:如果你问我,这是一棵二叉搜索树吗?这肯定的。但是它更像什么?链表!有什么区别呢?数据结构不同,链表只包含一个指向下一个节点的指针,而这个包含的还有指向左节点的指针。这个时候我们看看,我们之前定义的...

2019-11-11 10:00:31 736

原创 挑战408——组成原理(27)——流水线的影响因素

之前说过,目前影响流水线主要的冲突有:资源冲突(结构相关),数据冲突(重点),控制冲突。结构相关多条指令进入流水线后,在同一始终周期内争用同一功能部件。这种冲突的通常解决方式为:前一个指令访存的时候,后一个指令暂停一个时钟周期(拖慢一拍),再执行。增设一个功能部件数据相关后续的指令需要的操作数,要等到前面的指令执行完成后并保存结果后才能获得。数据相关主要分为三种情况:RA...

2019-11-06 22:28:01 877

原创 挑战408——数据结构(21)——二叉搜索树的插入和删除

在二叉搜索树种最重要的就是插入和删除操作了二叉搜索树的插入我们要在二叉搜索树中执行各种操作的前提就是,我们首先要有一棵二叉搜索树。那么,如何创建一棵二叉搜索树呢?最简单的方法就是我们可以从一棵空树开始,每次调用一个addNode函数,将一个新的值插入二叉搜索树中。但是在每次插入的时候我们都要保持树的一个排序关系,因此我们要做的就是在插入的时候,找到我们要插入的值应该在的位置。因此和遍历的代码...

2019-11-06 21:22:03 364

原创 挑战408——数据结构(20)——二叉搜索树(BST)

在之前的文章中,我们提到过三叉树,n叉树,但是我们实际用的最多却是二叉树,因为这样的结构更适合我们编程和更适合我们使用递归的方式。所以我们可以限制孩子的数量使得生成的树更容易实施。那么怎么定义二叉树呢?树中的每个节点至多有两个孩子。除根节点之外的每个节点均被指定为其父项的左侧子项或右侧子项。第二个条件强调了二叉树中的子节点相对于其父母排序。也就是说当子节点的顺序不一样的时候,他们就不是一...

2019-11-05 21:36:27 445

原创 挑战408——数据结构(19)——树的遍历(先序,中序,后序)

树的存储结构之前我们提到过堆是一棵特殊的树,在堆的存储方式中,我们选择了数组的方式去存储。因为只要知道一个节点的位置我们就能找到其他的节点的位置。但是前提是堆是一棵完全二叉树。树的结构多种多样,没人规定说一个节点只能有一个孩子。我们先看下图,一个最简单的二叉树:怎么表达?看到箭头,我们应该立马反应过来一个基本的工具,没错就是指针,应该立马反应过来一个数据结构,那就是链表!把value换...

2019-11-05 19:19:27 727

Prog-in-Cpp,完整版

这是斯坦福大学的C++教材,里面包含了C++的入门语法还有C++版本的数据结构。里面的内容很经典,属于经典的教材。让你知其然又知其所以然。强烈推荐

2017-09-04

Programming Abstractions in C++

Programming Abstractions in C++ Stanford大学的c++教材,感觉不错

2017-01-22

空空如也

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

TA关注的人

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