编程基础知识大全

简介:  前序,中序,后序遍历:所谓前,中,后都是对根节点的位置而言。 前序遍历:先根节点,后左子树,再右子树。 中序遍历:先左子树,后根节点,再右子树。

  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. 为何引进进程?

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

相关文章
|
6月前
|
Rust 安全 Go
揭秘Rust语言:为何它能让你在编程江湖中,既安全驰骋又高效超车,颠覆你的编程世界观!
【8月更文挑战第31天】Rust 是一门新兴的系统级编程语言,以其卓越的安全性、高性能和强大的并发能力著称。它通过独特的所有权和借用检查机制解决了内存安全问题,使开发者既能享受 C/C++ 的性能,又能避免常见的内存错误。Rust 支持零成本抽象,确保高级抽象不牺牲性能,同时提供模块化和并发编程支持,适用于系统应用、嵌入式设备及网络服务等多种场景。从简单的 “Hello World” 程序到复杂的系统开发,Rust 正逐渐成为现代软件开发的热门选择。
107 1
|
6月前
|
算法 C语言 C++
C++语言学习指南:从新手到高手,一文带你领略系统编程的巅峰技艺!
【8月更文挑战第22天】C++由Bjarne Stroustrup于1985年创立,凭借卓越性能与灵活性,在系统编程、游戏开发等领域占据重要地位。它继承了C语言的高效性,并引入面向对象编程,使代码更模块化易管理。C++支持基本语法如变量声明与控制结构;通过`iostream`库实现输入输出;利用类与对象实现面向对象编程;提供模板增强代码复用性;具备异常处理机制确保程序健壮性;C++11引入现代化特性简化编程;标准模板库(STL)支持高效编程;多线程支持利用多核优势。虽然学习曲线陡峭,但掌握后可开启高性能编程大门。随着新标准如C++20的发展,C++持续演进,提供更多开发可能性。
109 0
|
6月前
|
算法 安全
【第七章】软件设计师 之 程序设计语言与语言程序处理程序基础
软件设计师 之 程序设计语言与语言程序处理程序基础备考资料
【第七章】软件设计师 之 程序设计语言与语言程序处理程序基础
|
5月前
|
Rust 安全 前端开发
30天拿下Rust之图形编程
30天拿下Rust之图形编程
98 0
|
9月前
|
监控 Java 数据库连接
【后台开发】TinyWebser学习笔记(1)网络编程基础知识
【后台开发】TinyWebser学习笔记(1)网络编程基础知识
70 3
|
9月前
|
网络协议 网络架构 数据格式
网络编程基础知识
网络编程基础知识
73 0
|
9月前
|
自然语言处理 Java 编译器
【软件设计师—基础精讲笔记10】第十章 程序设计语言基础
【软件设计师—基础精讲笔记10】第十章 程序设计语言基础
142 1
|
9月前
|
设计模式 存储 算法
【软件设计师—基础精讲笔记7】第七章 面向对象技术
【软件设计师—基础精讲笔记7】第七章 面向对象技术
160 1
|
9月前
|
算法
【编程技巧】精通编程的秘密武器:高效编程技巧揭秘!
【编程技巧】精通编程的秘密武器:高效编程技巧揭秘!
45 0
|
9月前
|
存储 Shell Go
使用 Python 创造你自己的计算机游戏(游戏编程快速上手)第四版:第五章到第九章
使用 Python 创造你自己的计算机游戏(游戏编程快速上手)第四版:第五章到第九章
171 0

热门文章

最新文章