现在的位置: 首页 > 综合 > 正文

编程基础知识大全

2013年07月07日 ⁄ 综合 ⁄ 共 905字 ⁄ 字号 评论关闭
  1.  前序,中序,后序遍历:所谓前,中,后都是对根节点的位置而言。

    前序遍历:先根节点,后左子树,再右子树。
    中序遍历:先左子树,后根节点,再右子树。
    后序遍历:先左子树,后右子树,再根节点。

  2. 树的深度优先遍历、广度优先遍历
    这些概念记得大学时还是比较清楚的,但是由于工作中几乎就没用过,终归模糊了。查了查很快就能想起来了。

    深度优先遍历:是指在没遍历完所有的直接子节点时,就对子节点递归地访问下去。这样以来,就会沿着一个节点的第一个子节点不断递归下去,以实现深度遍历。
    广度优先遍历:是指必须遍历完所有的直接子节点后,才能对子节点的子节点进行顺序访问。

  3. 冒泡排序(从小到大排序)

    循环区间【0,n-i-1】,闭区间是指包含。其中的i从0变化到n-1。并且冒泡排序是以相邻元素进行互换的形式进行的。相邻元素中大者往后走。改进后的冒泡排序使用了一个标志,以便于在某躺遍历中及时发现数组已经呈现有序状态。代码如下:

    int iArray[]={7,1,2,6,3,6,4,2};
    
     int iFlag=true;
     int iLength=sizeof(iArray)/sizeof(int);
    
     for(int i=0;i<iLength;i++)
     {
      iFlag=TRUE;
    
      for(int j=0;j<iLength-1-i;j++)
      {
       if(iArray[j]>iArray[j+1])
       {
        int iT=iArray[j];
        iArray[j]=iArray[j+1];
        iArray[j+1]=iT;
    
        iFlag=FALSE;
       }
      }
    
      if(TRUE==iFlag)
       break;
     }
    

    以第一趟排序为例:先比较元素1和元素2,如果元素1大于元素2,则交换两个元素。然后比较元素2和元素3,以此类推。

  4. 为何引进进程?

    计算机中多道程序并行时,由于共享资源,程序之间会出现制约关系,这种制约会使程序执行出现间歇性的状态,例如当一个程序获得资源而另一个程序需要且此资源是不能同时共享时,则后者需要停止运行,等到前者释放该资源。正是因为这些间歇性的特征,使用程序是无法记录的,因为程序是存储在计算机内的静态指令集合,如果记录间歇性的动态特征。所以引进了进程,进程由程序,数据和进程控制块组成。

抱歉!评论已关闭.