algorithm
文章平均质量分 64
AshlingR
C/C++ ,linux,网络编程,http协议,分布式 欢迎技术交流
展开
-
如何判断单链表里面是否有环【转载】
这题目还是慢有意思的。题目:0.如何判断单链表里面是否有环?算法的思想是设定两个指针p, q,其中p每次向前移动一步,q每次向前移动两步。那么如果单链表存在环,则p和q相遇;否则q将首先遇到null。这里主要理解一个问题,就是为什么当单链表存在环时,p和q一定会相遇呢?假定单链表的长度为n,并且该单链表是环状的,那么第i次迭代时,p指向元素i mod n,q指向2i转载 2012-09-26 12:50:30 · 685 阅读 · 0 评论 -
二叉树的各种操作总汇(c/c++语言实现)
本文总结二叉树的各种操作与C语言的实现头文件#include #include #include #include using namespace std ;数据结构typedef struct Node{ char data ; struct Node * rchild ; struct Node * lchild ;}Node,*pNode;原创 2013-03-23 18:17:07 · 2922 阅读 · 0 评论 -
八皇后问题--递归与非递归的实现
八皇后问题是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 下面是算法的高级伪码描述,这里用一个N*N的矩阵来存储棋盘: 1) 算法开始, 清空棋盘,当前行设为第一行,当前列设为第一列原创 2013-03-18 22:25:15 · 3279 阅读 · 0 评论 -
位操作的一些很实用的例子
位操作带来的快速的运算,下面是一些位操作的小技巧1.求一个数的绝对值unsigned int myabs(int a){ if(a>0) return (unsigned int)a; if(a<0) return 0-(unsigned int )a ;}2.判断两个整数是否同号bool check(int a,int b){ if((unsigned int)(原创 2013-03-24 23:43:06 · 882 阅读 · 0 评论 -
MD5加密算法(c语言实现)
md5.h文件/*md5.hauthor mwater.www.epopsoft.com */#ifndef _MD5_H_#define _MD5_H_#include #define R_memset(x, y, z) memset(x, y, z)#define R_memcpy(x, y, z) memcpy(x, y, z)#define R_memcmp原创 2013-08-19 19:32:46 · 2041 阅读 · 0 评论