自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

seineo

已转向新博客:https://seineo.github.io/

  • 博客(90)
  • 收藏
  • 关注

原创 Hexo Puller: Hexo博客同步的一次性解决方案

Hexo Puller 是一个简单的 git 仓库同步工具,可以仅需一次配置解决云服务器同步hexo博客的问题,而且保留了博客的markdown源文件。

2023-11-15 19:32:26 377

原创 多元线性回归

公式推导与模型建立,见:多元线性回归

2020-10-12 20:44:44 214

原创 旅行商问题与最可靠路径问题

这两个问题都是图论问题,建模需要一些技巧。见:旅行商问题与最可靠路径问题

2020-10-12 20:42:43 424

原创 实模式与保护模式

见实模式与保护模式

2020-10-07 17:04:32 177

原创 Coursera Algorithms笔记与作业

具体见:Github

2020-09-30 20:22:50 623

原创 图论:最大流最小割详解

最大流与最小割是十分重要且应用广泛的内容,本文用“水流”与“水管”类比,先讨论最大流问题,然后再说明最大流与最小割的特殊关系,我们还将讨论一些实际中会使用的相关算法及其实现。见:图论:最大流最小割详解...

2020-06-27 21:36:11 942

原创 图论最常用的最短路算法详解及实现

超详细解释最短路算法:BFS、Dijkstra、A*、Bellman-Ford及Floyd-Warshall,并给出实现。见:图论:常用的最短路算法详解

2020-06-23 13:26:30 387

原创 程序设计实践:基础数据结构与算法

算法和数据结构是程序的基石,几乎每一个程序都需要它们,但绝大多数程序都不需要发明新的算法和数据结构。本章基本是围绕着对HTML中name-value键值对的处理,阐述了满足于绝大多数程序需求的基本算法和数据结构,包括搜索、排序、链表、树和哈希表等。笔记和发散讨论见:Algorithms and Data Structures。欢迎在这里提出问题、给出建议。...

2020-06-16 09:35:09 240

原创 程序设计实践:好的代码风格

什么是好的代码风格,第一章讨论了包括命名、语句、宏、幻数和注释等重要内容。笔记和发散讨论见:Style。欢迎在这里提出问题、给出建议。

2020-06-03 17:03:20 143

原创 getchar函数的使用易错点

详细解析为什么char ch = getchar()是错误的,而应该是int ch = getchar()。见:https://seineo.github.io/2020/06/01/int-ch-getchar/

2020-06-02 00:28:42 667

原创 dotfiles

最近了解到了dotfiles,觉得用github来维护自己的dotfiles是一件有益的事。现就把链接放在这里,有兴趣的朋友可以参考下。(当然,建议不要直接复制,因为要知道自己的设置是有什么具体用处,才能更好地使用它)我的dotfiles:https://github.com/seineo/dotfiles...

2020-04-08 01:29:50 306

原创 【已删除】数据结构与算法分析(C语言描述)课后习题答案(Github)

最近在慢慢写数据结构与算法分析(C语言描述)的课后习题答案。地址:https://github.com/seineo/Data-Structures-and-Algorithm-Analysis-in-C...

2020-03-13 11:23:33 19928 8

原创 Linux下安装Vim插件YouCompleteMe

说实话,这个插件真的很容易装,但是我之前老是失败。实际上这个是墙的锅,github的clone速度太太太慢了!平时的一些仓库可以用gitee解决问题,但是这个插件他又要调用github上的其他仓库所以就很烦。(所以我就翻了个墙,生活直接美好起来说下步骤吧,以防万一建议按顺序来全试一遍.#我没用vundle,虽然我之前装好了sudo apt-get install build-essenti...

2020-03-05 18:32:55 480 2

原创 Linux环境下C语言getopt函数的详细解析

该函数在头文件getopt.h中。函数原型:int getopt(int argc,char * const argv[ ],const char * optstring);返回值为int类型,其实解析成功一个选项时(可能这时看不懂,没关系,后面会解释)这个返回的就是一个字符,因为字符可以转为整数。若解析完毕,则返回-1。前两个参数大家都知道,就是main函数的参数选项:argc是参数...

2020-03-02 17:41:38 599

原创 CSAPP Lab Assignments

最近在慢慢看深入理解计算机系统(CSAPP),也有在做配套lab。地址:https://github.com/seineo/Workshop/tree/master/CMU_15-213_labs如果对你有帮助,请收藏支持(github页面右上角star)有兴趣的朋友也可以follow一下:https://github.com/seineo...

2020-02-22 14:44:00 396

原创 Linux下使用valgrind检测内存泄漏

若尚未下载valgrind,使用以下命令下载:sudo apt-get install valgrind写好程序后,编译(此处是在CLion上举例):g++ binary_heap_test.cpp binary_heap.cpp -o binary_heap_test (若不了解如何使用gcc/g++编译,见另一篇文章:Linux下CLion使用命令行编译运行程序)...

2020-01-12 13:22:43 163

原创 Linux下CLion使用命令行编译运行程序

CLion左下角Terminal 进入命令行假设要处理的源文件为 binary_heap_test.cpp如果没有自写头文件:可直接如下编译:g++ binary_heap_test.cpp -o binary_heap_test-o 为输出文件参数,后跟设定的输出文件(可执行文件)名,此处设为binary_heap_test.这样会生成可执行文件binary_heap_...

2020-01-12 12:22:43 4252

原创 C++ Primer StrVec类和简化的string类

学习动态内存管理确实很累,看+写 花了很长的时间。写这两个类使我对vector、string的内部实现、动态分配的方法有了更深的理解。更重要的是,随着写的类越来越多,我慢慢地体会到了:写一个类,构造其结构是十分重要的。哪些是public,哪些是private,哪些函数应该作为成员函数,哪些函数应该作为友元函数,而哪些代码应该写成一个函数,其作为函数时参数、返回值的确定又应当考虑哪些……诸如此类,这...

2019-07-02 15:15:51 660

原创 C++ Primer Message和Folder类

在写包含这两个类的头文件时,有一个问题值得注意。我是先写Message类后写Folder类的,而这两个类又需要操作对方的成员,因此要定义为友元类。而且,在定义Message类前一定要有Folder类的前向声明,Message有用到Folder类对象的函数都需定义在Folder类后,否则无法编译通过(未定义当然是无法使用的)。因此我所写的头文件的结构为: Folder类前向声明 - Mes...

2019-06-30 17:48:33 1376

原创 C++ Primer 行为像值的类与行为像指针的类Hasptr

#ifndef HASPTR#define HASPTR#include<iostream>#include<string>class HasPtr //行为像值的类{ friend void swap(HasPtr &hp1, HasPtr &hp2); friend bool operator<(const HasPtr ...

2019-06-30 16:37:57 291

原创 C++ Primer 文本查询程序

题目:我们将实现一个简单的文本查询程序,我们的程序允许用户在一个给定文件中查询单词。查询结果是单词在文件中出现的次数及其所在行的列表。如果一个单词在一行中出现多次,此行只列出一次。行会按照升序输出。我们可以直接使用vector 、set和map来直接编写文本查询程序,但我们在这里定义一个抽象的解决方案会更有效。在看了书上题目要求及其思路后,感觉不难,便自己写了一个,代码还用到了前面学的泛型...

2019-05-31 21:26:10 528 2

原创 Python上机实验3

前言由于最近时间比较紧,这次就不解析过多了。参考链接:unittest:https://docs.python.org/3/library/unittest.html?highlight=unittest#module-unittestpickle:https://docs.python.org/3/library/pickle.html?highlight=pickle#mo...

2019-05-28 23:28:30 3395 4

原创 啊哈算法第六章 最短路径

通过之前的学习,我们知道可以使用DFS或BFS求出两点间的最短路径。还有什么别的办法呢?一、Floyd-Warshall算法我们知道,要想让两点的路程变短,我们需要引入第三个点(k),并通过这个点a->k->b,才有可以缩短原来只从a->b的路程。而每个点都有可能使另外两个点之间的路程变短,这就得出了Floyd-Warshall算法。主要思想:点。最初只允许从1号...

2019-05-23 17:28:07 171

原创 C++ Primer 编写StrBlob类(含相关问题)

题目:编写一个StrBlob类,使多个对象能共享相同的底层数据(即某个对象被销毁后,若仍有对象使用其数据,则不会销毁底层数据),并且对象要能进行一定的读写操作。为了实现数据共享,我们使用一个shared_ptr管理动态分配的vector,只有某个对象的引用次数为0时,智能指针才会将其数据自动销毁。读写操作:定义size()、empty()、push_back()、pop_back()、fron...

2019-05-20 22:52:31 1004

原创 C++ Primer 一处错误更正

P389 表11.7中写道:c.equal_range(k) 返回一个迭代器pair,表示关键字等于k的元素的范围。若k不存在,pair的两个成员均等于c.end()错误在最后一句:若k不存在,pair的两个成员均等于c.end()学习这里的时候,我将lower_bound、upper_bound、equal_range都手敲试了一下,发现在k元素不存在时,equal_range...

2019-05-18 18:07:33 422

原创 C++ Primer 第11章关联容器习题

练习11.4:扩展你的单词计数程序,忽略大小写和标点。例如,"example."、"example,"和"Example"应该递增相同的计数器思路:1、将输入的单词转为小写2、如果有标点,则将其删去(利用remove_if和erase)这里用到的remove_if和erase又再次印证了书中前面说的一句话:标准库算法不会直接改变容器的大小和元素。remove_if只是将使谓词为...

2019-05-17 15:56:18 452

原创 C++ Primer IO类(文件流,string流)

条件状态iostate类型提供了表达流状态的完整功能,这个类型应作为一个位集合,可以与位运算一起使用。说实话,现在来回看了两三遍都还是对什么置位、复位、标志位之类的概念有些模糊,可能是学的还不够多,所以现在先把问题放下,以后再回来弄懂吧。先记录下一些内容。练习8.1:编写函数,接受一个istream&参数,返回值类型也是istream&。此函数须从给定的流中读取数据,直...

2019-05-15 18:23:31 207

原创 Python上机实验2

接触越多,越觉得python简洁方便啊。。1. 编写函数,接收一个字符串,分别统计大写字母、小写字母、数字、其他字符的个数,并以元组的形式返回结果。def cal(n): cnt1=cnt2=cnt3=cnt4=0 for i in n: if i.islower(): cnt1+=1 elif i.isupper(...

2019-05-12 12:27:04 5590 2

转载 C++ size_t、size_type与int联系与区别

32位机器 size_t = unsigned int 4字节 64位机器 size_t = unsigned long int 8字节 内容转自:https://blog.csdn.net/lzx_bupt/article/details/6558566size_type:由string类类型和vector类类型定义的类型,用以保存任意string对...

2019-05-11 17:25:55 1953

原创 Python字符串相关

python对于字符串的操作确实是十分便利,find()、partition()、split()、strip()这些就不说了,在这里说些其他有意思且十分快捷便利的操作。1、转换大小写除了upper、lower之外,Python还有capitalize()、title()、swapcase(),分别是将字符串首字母变为大写、将每个单词的首字母变为大写以及大小写互换。>>&g...

2019-05-10 16:26:11 194

原创 C++实现离散数学之集合与关系运算、性质判断与闭包运算

我尝试着编程实现了课本上集合与关系的相关内容,如集合的逆运算,复合运算,集合上关系的性质判断与闭包运算等,基本判断方法均为定义法。代码如下:#include<iostream>#include<vector>#include<algorithm>using namespace std;typedef vector<vector<in...

2019-05-08 20:28:16 4066

原创 Python 编码检测与编码转换

这次的上机实验有一道关于编码的题目,如下:编写程序,用户在命令提示行输入文件名和该文件的编码格式,读入文件,将其转存成UTF-8格式。如果用户没有指定输入文件的编码格式,则使用chardet模块“猜”出其编码格式,用于解码。使用argparse模块解析用户命令提示行输入。老师上课并没有讲这两个模块,因此我便去了解了一下。简单来说,导入chardet模块后使用其中的dectect方法检测,会...

2019-04-30 16:29:07 4114 21

原创 Python 切片原地操作与非原地操作情况

赋值a[len(a):]=[1,2,3]赋值是原地操作,有效。赋值是将切片选中片段清空,再将右值赋给所选片段,因此切片可以增加/删除/调整可迭代对象的元素。排序a[:3].sort(reverse=True)但注意如上所示的排序不是原地操作,而是取出该段生成新列表再进行排序,因此无效!要想有效排序应当如下:b=sorted(a[:3],reverse=T...

2019-04-29 18:16:24 2776

原创 啊哈算法第五章 图的遍历

一、图的一些概念简单来说,图是由顶点和连接这些顶点的边构成的集合。遍历就是指把图的每一个顶点都访问一次,用一个数表示各个顶点被第几个访问到,这个数就叫时间戳。图的邻接矩阵存储法:关联于同一条边的两个结点称为邻接点。关联于同一个结点的两条边称为邻接边。用一个二维数组储存一个图,第i行第j列表示的就是顶点i到顶点j是否有边(i,j>0),1表示有边,∞表示无边,而自己到自己(i=...

2019-04-27 15:03:25 279

原创 Java上机作业宠物商店

编写一个宠物商店程序,要求如下:假设你拥有一家宠物商店,该店能够寄养一批宠物(用数组存储,用常量设置数组最大值,如10),通过程序实现该宠物商店的宠物管理。 程序实现具体宠物寄养功能(寄养功能可理解为宠物对象创建,如:用户输入1,表示寄养一只狗;输入2,表示寄养一只猫;输入3,表示寄养一只鸟),并在寄养时对该宠物信息登记并命名,最后在内存中保存这些创建的宠物。 程序提供针对名称的检索功能,...

2019-04-22 21:10:38 2036 1

原创 啊哈算法第四章 万能的搜索

从这一章开始就真的步入对我而言全新的算法世界了(因为排序、枚举在上学期还是接触过的,而栈、队列在这学期我看的C++Primer和老师教的Java课里也有所涉及)一、深度优先搜索(Depth First Search)首先作者用上章遗留的全排列问题作为引例为我们介绍了DFS是啥东西。题目1:输入一个数n 请输出1~n的全排列。当然我们可以用上一章的枚举来做,并且用一个book[10]...

2019-04-22 17:01:12 403

原创 啊哈算法第二章 栈、队列、链表

一、队列、栈作者在书中用数组来实现队列和栈,让我们更深刻地了解了底层实现。而这里我就直接放用STL里的queue和stack实现书中题目的代码了。题目:纸牌游戏。两人比赛,A,B,每人最开始分得6张手牌,手牌大小为从1到9A先出牌,B后出牌,若出牌在桌面上存在,在出牌人获得两张相同牌中间的所有牌(包括两张相同牌),放入出牌人手中。最后谁手中无牌判为负C++:#incl...

2019-04-20 17:00:02 221

原创 java类的继承this调用属性问题

由于这个地方我有点乱,所以记录一下。public class NotOverriding extends Base{ private int i=2; public static void main(String[] args){ NotOverriding no=new NotOverriding(); no.increase(); System.out.println(n...

2019-04-17 23:26:22 741

原创 ASCII、Unicode、UTF-8之间的关系

在我们安装一些网上的软件时,有时会出现以下这样恼火的情况——乱码:我们老师说,究其原因,是编写此软件的程序员并不了解Unicode的知识与编码标准,导致用户电脑无法识别是哪一种标准,则无法解码,就变成这样了……为了防止我以后也犯老师说的这种“最低级错误”,我还是记录下来吧。正文:在计算机中,数据的存储都是以二进制表示的,而哪些二进制数表示哪些字母、数字与符号则是编码的标准...

2019-04-16 17:22:04 281

原创 金字塔型杨辉三角、奇数阶魔方阵

其实这两道题蛮类似的,都是利用二维数组+循环即可。杨辉三角:编写一个程序,输入一个正整数 n(不超过 15),输出 n 行的金字塔型杨辉三角形。#include<iostream>using namespace std;int a[20][20];int main(){ int n; cin >> n; for (int i = 1; i &lt...

2019-04-15 14:27:04 424

空空如也

空空如也

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

TA关注的人

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