【第21期】观点:人工智能到底用 GPU?还是用 FPGA?

c++培训周总结4

原创 2013年12月02日 23:30:17

培训部分

数据结构的概念:
   逻辑结构
   物理结构
   运算结构
  几个常用的数据结构:
   堆栈(栈)
   队列
   链表
   二叉树(有序)

数据结构的分类:
    抽象层——逻辑结构(人脑中)
    结构层——物理结构(计算机)
    实现层——运算结构(应用角度)


 逻辑结构的分类:
    集合结构(集) - 结构中的元素除了 同属于一个集合之外没有 其他的关系。
    线性结构(表) - 结构中的元素 是一对一的前后关系。(重点)
    树型结构(树) - 结构中的元素 是一对多的父子关系。
    网状结构 - 结构中的元素 是多对多的交叉映射关系。


物理结构的分类:
    顺序结构 - 数据存放在一片连续的内存地址中(不间断)。
    链式结构 - 链式结构的元素存放在不连续的内存地址中,因此存储时按节点存储,而不只是存储数据。一个节点包括数据和下一个节点的地址。
    

优缺点:
     顺序结构:随机访问方便,插入删除效率低,空间使用率低。
     链式结构:插入删除方便,随机访问效率低,空间使用率高。


顺序结构 链式结构 互补。

数组是一个常指针,不能改变指向的指针

完全二叉树 就是 前面n-1 是满的,最后一层可以不满,但是要 从左向右 连续排列。


快速排序

void quick_sort(int *a,size_t begin,size_t end)
{
size_t m=(begin+end)/2;
int p=a[m];
size_t i=begin,j=end;
while(i<j)
{
for(;!(i>=m || p<a[i]);++i);
if(i<m)
{
a[m]=a[i];
m=i;
}
for(;!( j<=m || p>a[j]);--j);
if(j>m)
{
a[m]=a[j];
m=j;
}
}
a[m]=p;
if(i-begin>1)
{
quick_sort(a,begin,m-1);
}
if(end-j>1)
{
quick_sort(a,j+1,end);
}
}



自学部分

String 和Array都是一种容器


容器运用时机 


vector
内部结构最简单,允许随机存取


deque
经常在序列头部和尾部安插和移动元素


list
经常在容器中执行元素的安插,移动和移除


set,multiset
经常需要根据某个准则来搜寻元素


容器内的型别 
container::value_type
都支持




container::key_type
关联式容器支持,set,map


container::key_compare
关联式容器支持


container::value_compare
关联式容器支持


explicit container::container(const CompFunc& op)
以op为准则产生一个容器
关联式容器支持


explicit container::container(const container& c)
都支持 


explicit container::container(const container& c)
vector,deque,list支持


container::container (size_type num,const T& value)
vector,deque,list,string支持
string不是引用传值


container::container(InputIterator beg,InputIterator end)
都支持


container::container(InputIterator beg,InputIterator end,const CompFunc& op)
关联式容器支持


bool container::empty比 size()==0快


size_type container::capacity() const
返回重新分配前最多元素个数
vector,strin支持


void  container::reserve(size_type num)
vector,string支持 


count,find,lower_bound,upper_bound,equal_range,key_comp,value_compare
void container::assign(size_type num,const T& value)
关联式容器支持


void container::assign(InputIterator begin,InputIterator end)
vector,deque,list ,string支持


at
vector,deque,string支持


operator[]
vector,deque,string支持


T& map::operator[](const key_type& key)
map支持


front(),back()
vector,deque,list支持


如果容器为空 rend()==rbegin()


iterator container::insert(const T& value)
pair<iterator,bool> container::insert(const T& value)
关联式容器+string支持


序列式操作一般返回void版本
关联式操作一般返回 iterator版本


void list::remove 只有list支持


 void container::resize(size_type num,T value)
vector,deque,list,string支持


配置器 
...


迭代器 
 *iter=42 等同于 iter=42


advance(InputIterator &pos,Dist n)
pos前进n



版权声明:随便转载..不要重复造轮子 举报

相关文章推荐

c++培训周总结7

培训部分 unix网络编程 socket本身是一个文件描述符 socket.h int socket(int domain,int type,int protocol); 通常情况下protoco...

人月神话

THE MYTHICAL MAN-MONTH 人月神话 FREDERICK P. BROOKS, JR. 翻译:Adams Wang 关于作者 Frederick P. Brooks,Jr . 是北卡罗来纳大学Kenan-Flagler 商学院的计算机科学教 授,北卡来罗来纳大学位于美国北卡来罗来纳州的查布尔希尔。Brooks 被认为是“IBM 36 0 系统之父”,他

IT学生解惑真经(转) (真的好经典!)

生而知之者,孰能无惑?惑而不从师,其为惑也,终不解矣。 --------韩愈《师说》 在校的IT学生有几百万 都在

c++培训周总结1

201310总结  培训部分 : char 8个比特位  1字节  short 16个比特位  2字节  long int 32个比特位 4字节  在32位机器上int为lo...

IT学生解惑真经(转) (真的好经典!)

生而知之者,孰能无惑?惑而不从师,其为惑也,终不解矣。 --------韩愈《师说》 在校的IT学生有几百万 都在
  • xpp02
  • xpp02
  • 2012-01-31 09:23
  • 591

c++培训周总结8

上了一周多pl/sql和proc...感觉proc这东西好鸡肋..像个半成品..就不总结了  c++部分 结构体是特殊的类,使用可以省略struct关键字  struct默认是publi...

如何成为一个很厉害的人

http://mp.weixin.qq.com/s?__biz=MzAxMzUzNzYyNA==&mid=2650651439&idx=1&sn=ca2a3f8addba935bd7ff158f7f4...

Scrum总结

一个轻量级的软件开发方法 Scrum是一个敏捷开发框架,是一个增量迭代的开发过程.。在这个框架整个开发周期由若干个小的跌代周期,每个小的的跌代周期称为一个Sprint,每个Sprint的长度2到4周。在每个Sprint中,Scrum的开发团队拿到一个排列好优先级的需求列表,我们称它为用户故事或者叫Sprint backlog, 所以我们先开发的是对客户具有较高价值的需求。 在每个迭代结束后,都会开发完成可交付的产品。 一个简单的框架 Scrum由三个角色,三种活动,3种交付物组成: 三个角色: Product Owner Scrum Master

为什么上大学?学到了什么和建议的讨论总结

从2008年11月20日发帖,到2008-12月11日,已经有678人参与了讨论,阅读次数达到了10376;这里把大家的意见整理一下,给我们的学弟学妹参考。注意理解一句唐诗: 不识庐山真面目,只缘身在...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)