回顾经典Effective C++ 1

c++ 联邦语言:

typedef {
	unit	C;
	unit Object-Oriented C++;
	unit Template C++;
	unit STL;
	};

notice: C++高效编程取决于你使用C++的哪一个部分。

eg:pass-by-reference and pass-by-value.

c:内置类型value kill reference;

c with class:reference kill value;

回顾经典Effective C++ 1

时间: 2024-11-06 07:41:30

回顾经典Effective C++ 1的相关文章

回顾经典问题算法:LIS, LCS-(DP类别)

LIS,最长递增子序列 1 #include <iostream> 2 #include <cstdlib> 3 4 using namespace std; 5 6 int LIS(int* arr, int len) { 7 if (arr == NULL || len < 1) return 0; 8 int LIS[len] = {0}; 9 int mlen = 0; 10 for (int i=0; i<len; i++) { 11 LIS[i] = 1;

读《Effective C++》的感受以及对于读书笔记的看法和规划(个人感受)

楼主最近在整理两本书的读书笔记<Effective C++>和<TCP/IP详解卷1:协议>,这两本都是经典书,笔记也都有了一些了.因为主要是谈谈<Effective C++>,所以把这本书已经写完的目录列出来,这个目录不会再更新了. <Effective C++>目录: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effecti

动态规划---最长上升子序列问题(O(nlogn),O(n^2))

LIS(Longest Increasing Subsequence)最长上升子序列 或者 最长不下降子序列.很基础的题目,有两种算法,复杂度分别为O(n*logn)和O(n^2) . ********************************************************************************* 先回顾经典的O(n^2)的动态规划算法: 设a[t]表示序列中的第t个数,dp[t]表示从1到t这一段中以t结尾的最长上升子序列的长度,初始时设dp[

poj 2513 Colored Sticks(欧拉回路 并查集 路径压缩 字典树)(困难)

Colored Sticks Time Limit: 5000MS   Memory Limit: 128000K Total Submissions: 32545   Accepted: 8585 Description You are given a bunch of wooden sticks. Each endpoint of each stick is colored with some color. Is it possible to align the sticks in a st

最长上升(不下降)子序列(详细,转)

LIS(Longest Increasing Subsequence)最长上升(不下降)子序列,有两种算法复杂度为O(n*logn)和O(n^2).在上述算法中,若使用朴素的顺序查找在 D1..Dlen查找,由于共有O(n)个元素需要计算,每次计算时的复杂度是O(n),则整个算法的时间复杂度为O(n^2),与原来算法相比没有任何 进步.但是由于D的特点(2),在D中查找时,可以使用二分查找高效地完成,则整个算法时间复杂度下降为O(nlogn),有了非常显著的提高.需要注意 的是,D在算法结束后记

[JavaScript] 初中级Javascript程序员必修学习目录

很多人总感觉javascript无法入门,笔者在这里写一下自己的学习过程,以及个人认 为的最佳看书过程,只要各位能按照本人所说步骤走下去,不用很长时间,坚持 个3个月,你的js层级会提高一个档次,无他,唯有努力与坚持,请看: 1. 从头到尾对一遍<<Javascript高级程序设计>>,不懂的地方可以暂时掠过,给自己对javascript有一个大体的印象 2. 认认真真的读完这本书:<<编写可维护的javascript>>,从编码规范,技巧,模式,等各个方面

UVA10635 Prince and Princess(LIS)

题意:王子和公主同时从1出发走到 n*n, 求他们两个路径的最长公共子序列: 思路:因为这题n有250,如果用LCS负责度为O(n^2),容易超时,于是我们选择它的优化版Lis算法来求最长公共子序列,这样我们的复杂度就降为O(n*logn)了. Lis算法: 先回顾经典的O(n^2)的动态规划算法,设A[t]表示序列中的第t个数,F[t]表示从1到t这一段中以t结尾的最长上升子序列的长度,初始时设F[t] = 0(t = 1, 2, ..., len(A)).则有动态规划方程:F[t] = ma

POJ2513:Colored Sticks(字典树+欧拉路径+并查集)

http://poj.org/problem?id=2513 Description You are given a bunch of wooden sticks. Each endpoint of each stick is colored with some color. Is it possible to align the sticks in a straight line such that the colors of the endpoints that touch are of t

最长【递增】子序列:注意没有公共,即只有一个序列。

monotonic:单调的. 序列为X=(x1,x2,x3,x4...),首先排序X得到X',找出X和X'的最长公共子序列(LCS)即可. 另一种思维: 先回顾经典的O(n^2)的动态规划算法,设A[i]表示序列中的第i个数,F[i]表示从1到i这一段中以i结尾的最长上升子序列的长度,初始时设F[i] = 0 :(i = 1, 2, ..., len(A)).则有动态规划方程:F[i] = max{1, F[j] + 1} (j = 1, 2, ..., i - 1, 且A[j] < A[i])