c++:
《c++程序设计》
《c++primer》
《effective c++》
《more effective c++》
《深入探索c++对象模型》
《泛型编程与STL》
《STL源码剖析》
数据结构与算法:
《算法导论》
《introduction of the design and analysis of algorithm》
《数据结构与算法分析:c语言描...
分类:
其他好文 时间:
2014-12-24 00:04:18
阅读次数:
162
1.算法描述 归并排序的基本思想是基于合并操作,即合并两个已经有序的序列是容易的,不论这两个序列是顺序存储还是链式存储,合并操作都可以在Ο(m+n)时间内完成(假设两个有序表的长度分别为m和n)。为此,由分治法的一般设计步骤得到归并排序的过程为: 1. 划分:将待排序的序列划分为大小相等(或大...
分类:
编程语言 时间:
2014-12-23 21:05:19
阅读次数:
228
选择排序的基本思想是:每一趟从n-i+1 (i=1,2,…,n)个元素中选取一个关键字最小的元素作为有序序列中第i个元素。本节在介绍简单选择排序的基础上,给出了对其进行改进的算法堆排序。1.简单选择排序 a:算法描述 简单选择排序的基本思想非常简单,即:第一趟,从n个元素中找出关键字最小...
分类:
编程语言 时间:
2014-12-23 21:04:58
阅读次数:
205
交换类排序主要是通过两两比较待排元素的关键字,若发现与排序要求相逆,则“交换”之。在这类排序方法中最常见的是起泡排序和快速排序,其中快速排序是一种在实际应用中具有很好表现的算法。1.冒泡排序a.算法描述 起泡排序的思想非常简单。首先,将n个元素中的第一个和第二个进行比较,如果两个元素的位置为逆...
分类:
编程语言 时间:
2014-12-23 19:17:29
阅读次数:
178
排序使我们实际开发中最常使用到的几个算法之一,按照如果按照排序过程中依据的原则对内部排序进行分类,则大致上可以分为插入排序、交换排序、选择排序、归并排序等排序方法。让我们首先看看插入排序的算法有哪些,以及他们的具体实现。插入排序的基本排序思想是:逐个考察每个待排序元素,将每一个新元素插入到前面已.....
分类:
编程语言 时间:
2014-12-23 11:51:49
阅读次数:
251
《数据结构与算法JavaScript描述》第4章 栈(Stack) 1 2 3 4 5 6 7 8 83 84 50行~78行使用栈实现阶乘函数的递归,前两种是书中的提供的函数,第三种是自己根据理解修改的函数。
分类:
其他好文 时间:
2014-12-20 23:30:12
阅读次数:
456
编译原理学习导论
大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,...
分类:
其他好文 时间:
2014-12-19 23:30:31
阅读次数:
326
1.回溯法算法思想:定义: 回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。1、回溯法适用:有许多问题,当需要找出它的...
分类:
编程语言 时间:
2014-12-18 00:00:40
阅读次数:
488
单链表的整表创建、删除单链表的整表创建思路:-声明一个结点p和计数器变量i-初始化一个空链表L-让L的头结点的指针指向NULL,即建立一个带头结点的单链表;-循环实现赋值和插入头插法建表从一个空表开始,生成新结点,读取数据存放到新节点的数据域中,然后将新节点插入到当前..
分类:
编程语言 时间:
2014-12-17 19:05:10
阅读次数:
231
线性表两种存储结构-链式存储定义:用一组任意的存储单元存储线性表的数据元素,这组存储单元可以存在内存中未被占用的任意位置我们把存储数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域。指针域中存储的信息称为指针或链。这两部分信息组成数据元素称为存储映..
分类:
编程语言 时间:
2014-12-17 13:03:04
阅读次数:
211