- 博客(76)
- 资源 (7)
- 收藏
- 关注
原创 深入理解计算机系统(原书第三版)PDF 高清中文版
深入理解计算机系统 PDF 深入理解计算机系统 pdf, 这本书的全名是:Computer Systems:A Programmer’s Perspective(所以它又被称为 CSAPP),个人习惯把它翻译为程序员所需了解的计算机系统知识,尽管土了些,但更名副其实。从而覆盖了指令集体系架构,汇编语言,代码优化,计算机存储体系架构,链接,装载,进程,以及虚拟内存这些程序员所需了解的关键计算机系统知识。链接:https://drive.uc.cn/s/4bf5b2916a814(用UC网盘可以不限速下载)
2023-11-24 07:38:15 2243
原创 算法系列-链表操作总结
链表练习的目的是熟练掌握引用(指针)的用法,理解链表数据结构的核心就是由一个个指针(内存地址)连起来的串,区别于数组的物理顺序实现,链是靠逻辑实现顺序关系。我们做了单链表反转、求链表中间节点、删除链表第n个节点、链表中环的检测、判断回文链表5个练习,并且这5个练习都是针对单链表的;对于单链表而言即每个结点都知道自己的下个结点,我们只需要找到带头的结点就能遍历整个链表了。在操作链表的过程中有哪些需要注意的地方呢?
2023-09-26 20:21:15 221
原创 算法系列-力扣234-回文链表
题目说明:给你一个单链表的头结点,你需要判断这个链表是否是回文链表。回文链表指不论从头部开始遍历链表,还是从尾部反过来遍历的结果是一样的,示例,链表 A -> B -> A ,两种遍历的结果都是A,B,A是回文链表。反例,链表 A -> B -> C,正序遍历是A,B,C,倒序遍历是C,B,A,因此就不是回文链表。
2023-09-24 07:12:37 317
原创 算法系列-力扣141-链表中环的检测(含数学证明)
你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。
2023-09-12 20:01:06 255
原创 算法系列-力扣234-回文链表判定
给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true;否则,返回 false。
2023-09-02 15:02:38 292
原创 算法系列-力扣876-求链表的中间节点
注意:指针需要从头节点前开始移动,因此需要定义一个哑结点,快指针和慢指针都从哑节点开始。注意:指针需要从头节点前开始移动,因此需要定义一个哑结点,快指针和慢指针都从哑节点开始。* 定义快慢两个指针,快指针每次移动2步,慢指针每次移动1步。* 当快指针移动了2k步后,慢指针移动了k步。定义快慢两个指针,快指针每次移动2步,慢指针每次移动1步。定义快慢两个指针,快指针每次移动2步,慢指针每次移动1步。当快指针移动到链尾时,慢指针移动了k步,n>1。当快指针移动了2k步后,慢指针移动了k步。
2023-08-29 19:58:23 991 2
原创 算法系列-力扣19-删除链表倒数第n个节点
添加哑节点统一处理逻辑(不用额外判定头节点),只有一个节点时头节点的前驱节点就是哑结点。添加哑节点统一处理逻辑(不用额外判定头节点),只有一个节点时头节点的前驱节点就是哑结点。出栈的第n个节点就是要删除的节点,而栈顶节点就是前驱节点。定义快慢两个指针,初始化时快指针和慢指针相差n个节点。当快指针走到链尾时,慢指针就是要删除节点的前驱节点。要删除节点的前驱节点就是链表中第m-n个节点。思路:利用快慢指针的相差距离定位前驱节点。时间复杂度:O(n)时间复杂度:O(n)空间复杂度:O(n)时间复杂度:O(n)
2023-08-28 20:51:39 216 1
原创 (二)堆栈的定义和实现
堆栈(Stack)可以认为是具有一定约束的线性表,$\color{red}{插入和删除操作都作用在一个称为栈顶(Top)的端点位置}$。其实,我们日常生活中也可以看到堆栈的例子,比如,我们厨房中叠放的盘子,使用盘子(删除操作)时我们是从顶端拿走盘子,用完放回(插入操作)时也是放到顶端
2022-10-18 15:44:13 2402 1
原创 (一)线性表的定义与实现
线性表是由同一类型数据元素构成的有序序列的线性结构。线性表中元素的个数被称为线性表的长度;当一个线性表中没有元素时,称为空表;表的起始位置称为表头,结束位置称为表尾;
2022-10-13 15:48:40 245
原创 排序系列(九)基数排序
基数排序基数排序是桶排序的一种推广, 它所考虑的待排记录包含不止一个关键字。例如对一副牌的整理,可将每张牌看作一个记录,包含两个关键字:花色、面值。
2022-08-24 09:01:38 121
原创 排序系列(八)桶排序
如果已知N个关键字的取值范围是在0到M-1之间,而M比N小得多,则桶排序算法将为关键字的每个可能取值建立一个“桶”,即建立M个桶;在扫描N个关键字时,将每个关键字放入相应的桶中,然后按桶的顺序收集一遍就自然有序了。所以桶排序效率比一般的排序算法高,当然需要的额外条件是已知关键字的范围,并且关键字在此范围内是可列的,个数还不能超过内存空间所能承受的限度。
2022-08-24 09:00:45 70
原创 排序系列(七)归并排序
归并排序的基本原理是:将大小为N的序列看成N个长度为1的子序列,接下来将相邻子序列两两进行归并操作,形成N/2(+1)个长度为2(或1)的有序子序列;然后再继续进行相邻子序列两两归并操作,
2022-08-23 08:56:00 177
原创 排序系列(六)快速排序
快速排序也是交换排序的一种,但和冒泡排序不同的是,冒泡排序只比较相邻两个记录的顺序,而快速排序的原理是:将未排序元素根据一个作为基准的“主元"(Pivot)分为两个子
2022-08-23 08:13:40 260
原创 排序系列(五)冒泡排序
从第5篇开始我们讲通过交换序列中元素位置来排序的方法。冒泡排序是最简单的交换排序。对元素个数为N的待排序序列进行排序时,共进行N-1次循环。
2022-08-22 12:19:36 139
原创 排序系列(四)希尔排序.md
前四篇也是插入排序,他是对简单插入排序的一个优化希尔排序。简单插入排序效率不高的原因是只比较相邻的两个元素,而希尔排序正是通过扩大比较的范围来提升效率。
2022-08-22 10:32:39 131
原创 排序系列(三)简单插入排序
前两篇为选择排序,这篇开始我们来研究插入排序。先从最容易的简单插入排序开始。简单插人排序的核心思想是:将待排序的一组序列分为已排好序的和未排序的两个部分;
2022-08-19 11:54:07 162
原创 数据结构与算法之基本概念
1.基本概念1.1.什么是数据结构?数据结构官方定义数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。——《数据结构、算法与应用》数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现——《数据结构与算法分析》数据结构(data structure)是计算机中存储、组织数据的方式。通常情况...
2022-06-23 15:41:00 45
原创 笔记:SpringBoot教程快速入门-基础-SpringBoot简介&快速入门案例(一)
前置知识1、你需要java基础的知识2、你需要Spring、SpringMVC、Mybatis框架的知识1. Spring Boot概述1.1 Spring Boot 概念我们知道Spring家族有Spring Boot、Spring Framework、Spring Data、Spring Cloud、Spring Security等成员,而Spring Boot作为Spri...
2021-09-21 17:34:00 38
原创 数据库系统原理-第一章 数据库系统基本概念
目录第一章 数据库系统基本概念1.1 数据管理技术的发展1.2 数据描述1.3 数据抽象的级别1.4 数据库管理系统(DBMS)1.5 数据库系统(DBS)第一章 数据库系统基本概念1.1 数据管理技术的发展人工管理阶段 本阶段计算机用于科学计算,尚无数据管理方面的软件,也没有文件的概念。计算时数据随程序输入内存,计算完毕自动释放。文件系统阶段 此阶段计算机开始用于信息管理,数据开...
2018-12-02 11:56:00 25
原创 程序设计入门-C语言基础知识-翁恺-第七周:指针与字符串-详细笔记(七)
第七周:指针与字符串目录第七周:指针与字符串7.1 指针初步7.2 字符类型7.3 字符串7.3 课后练习7.1 指针初步sizeof是一个运算符,给出某个类型或变量在内存中所占据的字节数sizeof(int)sizeof(i)运算符 &scanf("%d",&i);获得变量的地址,它的操作必须是变量int i;printf("%p",&i...
2018-09-02 16:48:00 76
原创 程序设计入门-C语言基础知识-翁恺-第六周:数组-详细笔记(六)
第六章:数组目录第六章:数组6-1 数组6-2 数组计算6.3 课后习题6-1 数组题目:让用户输入一组整数以-1结束输入,算出这组数的平均值,并且输出大于平均值的数。我们需要记录用户所有输入的数字才能在判断出平均值后输出大于平均值的数,这里要用到一个新的数据类型数组。程序实现:#ifndef biggerThanAvg_h #define biggerThanAvg_h#i...
2018-08-25 14:25:00 74
原创 程序设计入门-C语言基础知识-翁恺-第五周:函数-详细笔记(五)
第五周:函数目录第五周:函数5.1 函数5-2 使用函数5.3 课后习题5.1 函数什么是函数?函数是一块代码,接受零个或多个参数,做一件事情,并返回零个或一个值。函数声明语法返回值 函数名(参数列表){函数体}我们前面列子中经常使用的printf和scanf都是函数调用函数函数(参数值);()小括号起到了表示函数调用的重要作用,及时没有参数也需要()如果有参数,则...
2018-08-20 23:01:00 42
原创 程序设计入门-C语言基础知识-翁恺-期中测试
一、试题程序设计入门—C 语言期中测评试题下载地址:http://nos.netease.com/edu-lesson-pdfsrc/217E194E46A6595A3F55438033749061-1519633077802?Signature=Anos05NiH%2B7uB0aMTm87OqfWlOz38TBUVYhQnBfoNtY%3D&Expires=1535260083&...
2018-08-19 12:53:00 136
原创 程序设计入门-C语言基础知识-翁恺-第四周:循环控制-详细笔记(四)
第四周:循环控制目录第四周:循环控制4-1 for循环4-2 循环控制各运算符优先级(图)4-3 课后习题4-4 讨论题4-1 for循环for循环像一个计数循环:设定一个计数器,初始化它,然后在计数器到达峰值之前,重复执行循环体,而每执行一轮循环,计数器以一定步进进行调整,比如加1或者减1for循环语法:for (循环变量初始化; 循环条件判断; 循环变量赋值){循环体}整个fo...
2018-08-19 12:45:00 56
原创 程序设计入门-C语言基础知识-翁恺-第三周:循环-详细笔记(三)
第三周:循环目录第三周:循环3.1 循环3.2 循环计算3.3 课后习题3.4 讨论题(不需要掌握)3.1 循环while循环语法:while(条件表达式){//循环体语句}如果我们把while翻译作“当”,那么一个while循环的意思就是:当条件满足时,不断地重复循环体内的语句。循环体执行之前判断是否继续循环,所以有可能循环一次也没有被执行、条件成立时循环继续的条件循环体...
2018-08-14 22:51:00 67
原创 程序设计入门-C语言基础知识-翁恺-第二周:简单的计算程序-详细笔记(二)...
第二周:判断目录第二周:判断2.1 比较2.2 判断2.3 课后习题2.1 比较简单的判断语句:if(条件成立){ //执行代码}条件计算两个值之间的关系,所以叫做关系运算关系运算的结果当两个值的关系符合关系运算符的预期时,关系运算的结果为整数1,否则为整数0printf("%d\n",5==3); -> 结果为0printf("%d\n",5>...
2018-08-11 15:56:00 69
原创 程序设计入门-C语言基础知识-翁恺-第一周:简单的计算程序-详细笔记(一)...
第一周:简单的计算程序目录第一周:简单的计算程序1.1 第一个程序 Hello World!1.2 变量1.3 计算1.4 编程作业及课后讨论1.1 第一个程序 Hello World!集成开发环境(IDE)下载Dev C++的地方是:http://sourceforge.net/projects/orwelldevcpp/?source=directory提示:Dev C++只能在w...
2018-08-05 17:49:00 59
原创 在IIS上搭建FTP站点
操作环境系统:win7IIS版本:7.5FTP传输工具:FlashXP概述本文介绍了如何在win7下利用IIS(默认已安装IIS和FTP功能)搭建FTP站点,FTP站点的常用配置。快速搭建我的第一个FTP站点FTP站点常用配置快速搭建我的第一个FTP站点步骤1:使用IIS管理工具新建FTP站点,并且填写FTP站点名称和物理路径。步骤2:绑定IP和SSL设置按照上图配...
2018-02-27 20:31:00 32
原创 了解dto概念,什么是DTO
了解dto概念 此博文收集整理了一些主流的文章对于DTO模式的解读,他们大体相似而又各有所不同。对于设计模式的解读也是一个仁者见仁智者见智的事情,不过设计模式往往都是前辈们在遇到一类特定的问题下而总结的经验和智慧。看不同大牛对同一概念的解读,对比思考,本身就是对于我们思维的一次洗礼。(所有文章均贴有出处,在此感谢大牛们的辛勤劳作。)什么是DTO?百度百科如何解读的?DTO是Data T...
2017-06-23 21:38:00 40
原创 animal farm 第一章阅读笔记
chapter 1 Old Major's dream.paragraph 1 //Mr Jones is the mastor of the Manor Farm.That night he was drunk and made his way up to bed. 有一天夜里,曼娜农场的主人琼斯喝的伶仃大醉,踉跄着爬上床,而他的夫人早已鼾声如雷了。paragraph...
2017-06-16 21:26:00 37
原创 基于特性验证(完结)
上一篇博客中,介绍了特性的验证的基本使用。上次演示的功能只是一个初级版,达不到在实际使用的要求。因为我们依旧有很多问题没有解决。这次我们就来一步步解决这些问题。待解决的问题 至少需要解决两个问题,特性验证功能才能在实际的项目中应用。 1、有多个Model时,如果处理Model间的关系。 2、当我们有多个验证特性类时,如何处理验证特性类之间的关系。有多个Mod...
2015-10-29 21:02:00 30
原创 用特性来实现数据的校验
在网站开发中,往往需要对用户输入的数据进行校验。而为了保持数据的完整性,我们需要进行客户端和服务端的双重校验。客户端的校验一般由js来完成,本文主要介绍利用特性完成服务器端的数据校验。什么是特性? 超市中有各种各样的商品,商品上贴有标签。标签上可能有商品的名称,价格,种类等信息。我们要购买一样东西前,一般先会看标签,了解更多的信息。当然主要是价格,万一钱没带够呢?:) 如果把类...
2015-10-27 22:26:00 26
原创 如何快速上手.net下单元测试工具NUnit?
NUnit基本使用准备知识: 读此博文需要了解单元测试基本概念及NUnit的的安装。 传送门:单元测试之道(使用NUnit)1.常见的错误当学习一个新东西时,先学习错误,是最快的方式。1.1 构造函数错误。构造函数必须公开,无参,否则就会报错。后面我们会讲到如何使用带参构造函数。1.2 程序抛出异常错误。在测试的方法中,使用异常抛出也会报错。throw new ...
2015-09-30 17:09:00 35
原创 自己搭建MVC时遇到的一些问题及解决办法
错误1 The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched原因:文件夹的地址,和控制器地址不匹配,找不到视图。文件夹: View/Home/Index.chtml路由: c...
2015-08-08 16:46:00 24
elasticsearch2.4.4.zip下载(官方原版)
2018-05-22
socket网络编程案例(包含服务端和客户端)
2014-06-26
飞行棋游戏源码C#编写
2014-06-26
仿英雄联盟官网整站源码
2014-05-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人