自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yanfengt的专栏

这是一个过程

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

原创 图--最短路径--弗洛伊德算法

算法基本思想:1、初始化两个二维数组D[][]和P[][],D[v][w]用于表示从顶点v到顶点w的最小权和,P[v][w]表示从顶点v到顶点w需要经过顶点P[v][w],D[][]初始值为邻接矩阵,P[][]初始值为列下标;2、遍历所有的顶点k,每个顶点又遍历D[][]中的每一个元素D[v][w],若经过v经过k到达w的路径比原先的路径短的话,将当前两点间的权值设为更小的一个,同时将P[

2014-05-08 18:01:55 473

原创 图--最短路径--迪杰斯特拉算法

算法基本思想:1、取开始顶点,得到所有邻顶点权,记入最短路径表,找出具有最小权的邻顶点,记录下到该点的权值并标记为已遍历;2、从上述最小权相邻顶点出发,把到未遍历顶点的权值加上之前得到的最小权值与最短路径表中到各点的权值进行比较,如果前者较小的话则更新最短路径表数据,并记录前驱顶点;3、在最短路径表中寻找最小的权值,得到的顶点重复步骤2,直到遍历完成。#include #de

2014-05-08 11:51:40 552

原创 图--最小生成树--克鲁斯卡尔算法

算法基本思想:1、将边按权大小从小到大排列,记录边的起点,终点,权;2、按权值递增遍历所有边,判断新加入的边是否会形成环路,选择不会形成环路的边加入生成树。

2014-05-07 10:31:38 1031

原创 图--最小生成树--普里姆算法

算法的基本思想:1、选定任一顶点为出发顶点;2、用一个数组存储该顶点到其余顶点的边的权值;3、开始遍历这一顶点的所有邻边(不包括另一端为已遍历顶点的邻边),找出权值最小的相连顶点;4、以步骤3得到的顶点为出发顶点,更新数组存储的到各顶点权值的最小值(不包括已遍历顶点),重复3直到结束。

2014-05-06 16:23:50 548

原创 字符串包含

题目:请判断一个字符串里的字符是否全部都包含在另一字符串中。        例:s1:ABCDEFGHIJKLMN(要求s2包含于s1);若s2:AEICDFGFBH,返回true;若s2:CDQGEJMLP,返回false。        最容易想到的是轮询,即s2中的每一个字符与s1中的所有字符依次比较,但是这种方法的时间复杂度为O(n*m),最

2014-04-01 11:14:06 647

原创 循环移动字符串

最近钻研算法,找到一个不错的文章《程序员编程艺术》,作个笔记。        题目:对给定字符串实现循环左移或右移,比如“abcdefg”,循环左移2位变成“cdefgab”。        方法是比较多的,可以逐位移动,时间复杂度可优化至O(n^2);也可以用两个指针按给定位数逐小段翻转(这个方法后面的不完整尾段比较麻烦),时间复杂度是O(2n);当然也可以浪费一定的辅助数组空间,来达到

2014-03-31 11:11:13 1534

原创 基于Qt的局域网即时通讯软件

以前写的一篇日志,不小心删了,竟然没得恢复。万恶的CSDN,重排版。第一个写的软件。基本上还是很粗糙,而且代码也大多不是自己写的,不过也着实让我过了一把瘾。接下来简单地讲讲整个过程和学到的东西吧。首先是软件的框架,自己主观地YY了很久,因为之前没有相关的经验,所以好多东西都一厢情愿地想当然了,以至于到真正动手的时候才恨不得一掌劈死自己。(以下此段是自我YY,可跳过)我想像中的框架应

2014-03-25 22:18:32 5580 1

原创 一个简单的抓ARP包程序分析

##########################################################################2014-02-10参考网上找到的实例编译一个简单的抓取arp包并从中提取显示源、目的mac、ip地址的代码时遇到出错源代码如下:#include #include #include //ARP Header, (assu

2014-02-11 17:52:30 3290 1

原创 学习笔记7

在这里先草草结束这种笔记的方法,发现实在是在记流水帐,毫无章法,太费时间又难以查询,以后还是要有甄别地挑一些比较有意义的内容来写才是。##########################################################################2014-02-08主要函数接口:pcap_t *pcap_open_live(char *devic

2014-02-08 14:14:36 559

原创 学习笔记6

##########################################################################2014-01-21libpcap(Packet Capture Library),数据包捕获函数库,是Unix/Linux平台下的网络数据包捕获函数库。独立于系统的用户层包捕获的API接口,为底层网络监测提供了一个可移植的框架。工作原理:

2014-01-27 16:50:13 572

原创 学习笔记5

最近忙于六级+期末+毕设的一些东西。很久没更新笔记了。东西还是太乱了一点。感觉只是用来安慰自己有在学习而已##########################################################################2013-12-20当一个进程调用fork时,其子进程继承父进程的信号处理方式。每一个进程都有一个信号屏蔽字,它规定了当前要阻塞到

2014-01-27 16:48:57 384

原创 学习笔记4

###########################################################################2013-12-11进程组进程组是一个或多个进程的集合。每个进程组有一个唯一的进程组ID。getgrp函数#include #include pid_t getpgrp(void);返回调用进程的进程组ID。每个进程组

2013-12-17 14:06:08 434

原创 学习笔记3

2013-12-05进程都由一个非负ID唯一标识,ID0是调度进程,也被称作交换进程或系统进程。ID1通常是init进程,在自举过程结束时由内核调用,init通常读与系统有关的初始化文件(/etc/rc*文件),并将系统引导到一个状态(例如多用户),init进程不会终止。在某些UNIX虚存实现中,进程ID2是页精灵进程,负责支持虚存系统的请页操作,与交换进程一样,页精灵进程也是内核进程。下

2013-12-09 17:58:04 399

原创 学习笔记2

2013-12-02Unix高级编程配置(ubuntu 12.04 LTS)1.APUE2源代码下载:http://www.apuebook.com/src.tar.gz2. 我保存到了/home/yan/下.解压缩:tar -xzvf src.tar.gz(我的普通用户为:yan)3.cd apue.2e进入apue.2e目录,修改Make.defines.linux   v

2013-12-05 08:46:39 593

原创 学习笔记1

最近在看UNIX网络高级编程,还有适当地了解一些网络知识。记点笔记加深印象(内容部分有从各网站摘录,也有自己总结,未列出出处,敬请谅解):2013-11-27IP地址:A类:1.0.0.0~126.255.255.255,8位网络号(首位0),可用A类网络126个(网络号除去0和127,网络号0代表“本网络”,IP全0代表“这个(this)”,127保留作为本地软件环回测试与本主机的进

2013-12-02 15:05:28 505

转载 stdio和STDIN_FILENO以及带缓冲IO和不带缓冲IO的详细说明

在系统调用的函数中有STDIN_FILENO,和STDOUT_FILENO,STDERR_FILENO,分别对应标准输入(一般使键盘),标准输出(一般使显示器),标准错误,(他们都是非负整数,属于文件描述符)一般在老程序中也将他们分别用0,1,2代替,但建议还是使用他们的别名。而在标准IO函数中还有stdin,stdout,stderr等是FILE *类型,使属于文件指针,属于标准I/O,高级的输

2013-11-25 12:19:04 504

原创 ubuntu 12.04 lts安装完后要处理的琐碎事

还是先记下来,免得下次再装时又折腾。。。1、输入法:刚刚安装好了 Ubuntu 12.04,但是没有五笔的日子实在不好过,WINDOWS下用习惯了极点五笔,本以为极点的作者不出Linux版的,结果在网上一搜,居然有高手想到引用极点五笔的字典实现可以同时打拼音和五笔,废话少说,下面看如何操作:ibus下用法在终端中执行如下操作sudo wget http://

2013-11-13 14:37:04 632

转载 gcc常用命令

1简介2简单编译2.1预处理2.2编译为汇编代码(Compilation)2.3汇编(Assembly)2.4连接(Linking)3多个程序文件的编译4检错5库文件连接5.1编译成可执行文件5.2链接5.3强制链接时使用静态链接库1简介GCC 的意思也只是 GNU C Compiler 而已。

2013-09-26 12:52:11 337

转载 const_cast

用法:const_cast (expression)该运算符用来修改类型的const或volatile属性。除了const 或volatile修饰之外, type_id和expression的类型是一样的。一、常量指针被转化成非常量的指针,并且仍然指向原来的对象;二、常量引用被转换成非常量的引用,并且仍然指向原来的对象;Voiatile和const类似。举如下一例:clas

2013-08-14 00:49:01 451

原创 C++面试题

一个循环有序数组,查找其中的最小值(如4、5、6、1、2、3)。当时以为二分法就可以解决,后来想清楚后发现,如果在无序的区间里面查找可能最后会找到一个错误的结果。正解的方法应该是先判断该区间是否有序,同时可以根据首元素s,末元素e和中间元素m的关系判断最小值在哪个区间。应该会有以下三种情况:1、当s 时:s就是A中最小的元素2、当m 时:最小值位于(s, m]3、当e

2013-08-10 01:04:22 455

原创 编译u-boot的一些问题

首先遇到问题:board.c:127: error: inline function 'coloured_LED_init' cannot be declared weakboard.c:129: error: inline function 'red_LED_on' cannot be declared weakboard.c:131: error: inline function

2013-08-07 10:41:13 762

转载 X86平台Linux内核配置编译与启动

重新在x86平台上面配置编译了一下linux内核,并且设置启动。所有的工作是在虚拟机下面进行的。下面首先谈谈理论上编译配置内核需要用哪些步骤:1、首先肯定是在www.linux.org上面下载自己需要的linux内核版本啊。建议到官方下载,不要下载经过别人裁剪过的内核。2、解压缩。下载的时候可以下载经过gzip压缩的,也可以选择经过bzip2压缩的。经过gzip压缩的用:t

2013-08-04 09:29:27 744

原创 关于内核编译遇到的一些小问题

1、arm-linux-gcc : command not found原因:没有安装交叉工具链或者交叉工具链没有正确配置。解决方法:安装交叉工具链就不多说了,主要说一下配置问题。装完之后,要在环境变量PATH里面添加上你的工具链的解压目录 xxx/bin 这个路径。比如说我的工具链解压在了/usr/local/arm/4.4.3/上,那我可以用以下两种方法来实现路径的配置。a.编辑 /

2013-08-04 00:10:01 556

转载 ADS1.2的工程建立与配置以及其中一些文件的分析

一、ADS1.2的工程建立与配置①     新建工程类型为 ARM Excuteable Image。用于由 ARM 指令的代码生成一个 ELF 格式的可以执行映象文件。②     再把lib与inc文件夹拷贝到所建工程的文件夹中,inc文件夹中包含了很多.h文件,其中.c文件在lib中。(后面将对这些文件的作用与含义进行分析)。③     把需要用到的函数所在的.c文件添

2013-08-03 14:00:08 1312

转载 ADS映像文件及地址映射分析

1、什么是 arm 的映像文件,arm 映像文件其实就是可执行文件,包括 bin或 hex两种格式,可以直接烧到 ROM里执行。在axd调试过程中,我们调试的是 axf文件,其实这也是一种映像文件,它只是在 bin文件中加了一个文件头和一些调试信息。映像文件一般 由域组成,域最多由三个输出段组成(RO,RW,ZI),输出段又由输入段组成。所谓域,指的就是整个bin 映像文件所处

2013-08-02 15:00:05 946

转载 LDR指令

LDR/STR指令寻址非常灵活,它由两部分组成,其中一部分为一个基址寄存器,可以为任一个通用寄存器;另一部分为一个地址偏移量。地址偏移量有以下3种格式:立即数。立即数可以是一个无符号的数值。这个数据可以加到基址寄存器,也可以从基址寄存器中减去这个数值。如:LDR R1,[R0,#0x12] ;R1寄存器。寄存器中的数值可以加到基址寄存器,也可

2013-08-01 23:56:00 2341

转载 存储器统一编址和I/O独立编址

在不同的系统中,I/O端口的地址编排有两种形式:存储器统一编址和I/O独立编址。 存储器统一编址(存储器映像编址):在这种编址方式中,I/O端口和内存单元统一编址,即把I/O端口当作内存单元对待,从整个内存空间中划出一个子空间给I/O端口,每一个I/O端口分配一个地址码,用访问存储器的指令对I/O端口进行操作。 存储器统一编址的优点是:I/O端口的数目几

2013-07-31 09:04:57 6176

原创 记一些我看不惯的人

你很幸运,能够成为我在大学里看不惯的人并让我写出来,当然我不会指名道姓,希望各位对号入座, 有则改之,无则加勉。谢谢合作。我以前听过一句话,你看不惯别人是你的境界太低。我一度以为这是真理并接受了,但是现在我觉得我一辈子都不可能境界高了。反正我是不可能放下鄙夷的眼光公平地看待某些人,虽然我在现实中还是会很客气地对待这种人。不过终究不会与其走得太近。以下是分类:1、爱炫耀的人。以为有一点本

2013-07-22 16:23:38 996 1

转载 ADS1.2入门

原文地址:ADS 1.2 使用快速入门 作者:bluedrum  一.ADS 1.2 简介-------------------------------------------------------     ARM ADS 全称为 ARM Developer Suite 。是 ARM 公司推出集成开发工具。现在新版本已经改名为RealView Develope

2013-07-22 15:27:57 982

原创 排序算法和查找算法

为了面试整理了一下关于排序和查找的算法,还不全,以后有用到再补充://插入排序--直接插入排序法//个人理解:分为有序和无序两段,有序段从1开始,每次取无序段的第一个数,//在有序段中通过比较找到插入位置(有序段也在比较同时进行移动),插入,//每次有序段增加1,无序段减少1void InsertSort(int A[],int n){int x;int i,j;

2013-07-16 18:08:42 556

转载 进程和线程简单区别

这些都是困扰了我很久的东西。。。简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序

2013-07-12 21:44:19 448

转载 全局变量、局部变量、静态全局变量、静态局部变量的区别

转自:http://www.cnblogs.com/chenglei/archive/2009/09/06/1561367.htmlC++变量根据定义位置的不同,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名作用域和文件作用域。从作用域看:全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包

2013-07-12 20:48:08 480

转载 堆和栈

比较简单易懂的一篇文章,出处不明堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆

2013-07-12 11:24:07 453

原创 开始的地方

想想想写博客已经很久了,却迟迟没有动手,是该找个地方来记录一下自己所学的了。今天算是一个开始吧。嗯,努力吧。

2013-07-12 11:16:31 413

python基础教程

适合学习python的新手入门,简单易懂的一本书。

2013-12-30

CVTE软件类网申题目两套

文件从网络评测上截下来的图,可作为参考。

2013-09-14

空空如也

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

TA关注的人

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