攻城狮凌风

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页

2015年5月20日

每天一道算法题(4)——O(1)时间内删除链表节点

摘要: 1.思路 假设链表......---A--B--C--D....,要删除B。一般的做法是遍历链表并记录前驱节点,修改指针,时间为O(n)。删除节点的实质为更改后驱指针指向。这里,复制C的内容至B(此时B,C同时指向D),删除节点C,即达到间接删除节点B的目的。 倘... 阅读全文

posted @ 2015-05-20 16:28 攻城狮凌风 阅读(274) 评论(0) 推荐(0) 编辑

2015年5月18日

每天一道算法题(3)——含有指针元素的模板类

摘要: 1.定义 倘若没有拷贝构造函数,编译器自动生成的构造拷贝函数或者拷贝运算符的重载函数。在编译器生成的缺省的构造拷贝函数和拷贝运算符的重载函数,对指针实行的是按位拷贝,仅仅只是拷贝指针的地址,而不会拷贝指针的内容。因此在执行完前面的代码之后,指针指向同一地址。当A或者B中任意一... 阅读全文

posted @ 2015-05-18 16:17 攻城狮凌风 阅读(424) 评论(0) 推荐(0) 编辑

2015年5月17日

每天一道算法题(2)——求整数的2进制表示中1的个数

摘要: Solution1:整数往右移,与1按位与 不适用负数。因为负数的移位自动填补1,程序陷入死循环。 int NumberOf1_Solution1(int i){ int count = 0; while(i) { if(i ... 阅读全文

posted @ 2015-05-17 22:48 攻城狮凌风 阅读(171) 评论(0) 推荐(0) 编辑

2015年5月11日

数据结构和算法:队列和栈

摘要: 1.顺序循环队列: 1)队空条件:rear=front; 2)队满条件:(rear+1)%maxsize=front 3)进队:rear=(rear+1)%maxsize; 4)出队:front=(front+1)%m... 阅读全文

posted @ 2015-05-11 22:51 攻城狮凌风 阅读(153) 评论(0) 推荐(0) 编辑

每天一道算法题(1) ——不用乘除法求和1+2+…+n

摘要: 题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。 方法1:使用函数指针。 typedef int (*function)(int);int func1(int n){ return 0;}int ... 阅读全文

posted @ 2015-05-11 11:37 攻城狮凌风 阅读(401) 评论(0) 推荐(0) 编辑

线性表

摘要: 1.用数组描述的链表,即称为静态链表,元素为一般定义为含游标的结构体。优点:增删元素时,仅需要改变游标,保留了链表的优点;缺点则失去顺序表的随机读取特点。不便于Java使用(不含指针)。 2.顺序表是一种随机存储结构,即随机访问任意元素的时间均为O(1)。分为两种,一种为使用... 阅读全文

posted @ 2015-05-11 10:40 攻城狮凌风 阅读(112) 评论(0) 推荐(0) 编辑

2015年5月9日

数据结构相关概念

摘要: 1.算法设计的目标: 可行性,可读性,健壮性,高效率,低存储。算法的一般特点:有穷性,确定性(无二义),可行性(由基本运算的有限次实现)。 2.数据的物理结构:顺序存储物理连续,存储密度高,可以随机访问数据。但是不利于数据插入删除。链式存储存储密度低,但是便于数据操作。... 阅读全文

posted @ 2015-05-09 21:31 攻城狮凌风 阅读(142) 评论(0) 推荐(0) 编辑

2015年4月22日

树的创建与遍历

摘要: 使用孩子链表表示法表示数,采用广义表的形式输入: #define ms 5//数的度typedef struct node{//树的孩子链表表示法 char data; node* p[ms];}*Tree;void createTree(Tree& tree,char* p){ tre... 阅读全文

posted @ 2015-04-22 22:20 攻城狮凌风 阅读(182) 评论(0) 推荐(0) 编辑

2015年3月20日

Java探索之旅(18)——多线程(2)

摘要: 1 线程协调 目的对各线程进行控制,保证各自执行的任务有条不紊且有序并行计算。尤其是在共享资源或者数据情况下。 1.1 易变volatile cache技术虽然提高了访问数据的效率,但是有可能导致主存储器和cache中的值在某个瞬间的值不同。在多线程中,某个线程访... 阅读全文

posted @ 2015-03-20 19:08 攻城狮凌风 阅读(156) 评论(0) 推荐(0) 编辑

Java探索之旅(17)——多线程(1)

摘要: 1.多线程 1.1线程 线程是程序运行的基本执行单元。指的是一段相对独立的代码,执行指定的计算或操作。多操作系统执行一个程序时会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。每个线程都有独立的堆栈、计数器、本地变量... 阅读全文

posted @ 2015-03-20 18:59 攻城狮凌风 阅读(177) 评论(0) 推荐(0) 编辑

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页

导航