分类目录归档:C++学习

c++语言学习,典型案例学习,c++入门教程,实例源码讲解,红颜丽人博客C++学日记,C++语言程序设计,数据结构基础算法应用,零基础学习c++等内容。

c++算法之排序算法教程



c++算法之排序算法教程。

1. 概述

排序算法是计算机技术中最基本的算法,许多复杂算法都会用到排序。尽管各种排序算法都已被封装成库函数供程序员使用,但了解排序算法的思想和原理,对于编写高质量的软件,显得非常重要。

本文介绍了常见的排序算法,从算法思想,复杂度和使用场景等方面做了总[......]

Read more

c++数据结构之AVL树



c++数据结构之AVL树。1. 概述

AVL树是最早提出的自平衡二叉树,在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。AVL树得名于它的发明者G.M. Adelson-Velsky和E.M. Landis。AVL树种查找、插入和删除在平均和最坏情况下都是O(log[......]

Read more

数据结构之位图图文教程

数据结构之位图图文教程。1.  概述,位图(bitmap)是一种非常常用的结构,在索引,数据压缩等方面有广泛应用。本文介绍了位图的实现方法及其应用场景。

2. 位图实现

(1)自己实现

在位图中,每个元素为“0”或“1”,表示其对应的元素不存在或者存在。

[......]

Read more

数据结构与算法之排列与组合算法

数据结构与算法之排列与组合算法。1. 前言,本文介绍了常用的排列组合算法,包括全排列算法,全组合算法,m个数选n个组合算法等。

2. 排列算法

常见的排列算法有:

(A)字典序法

(B)递增进位制数法

(C)递减进位制数法

(D)邻位对换法

(E)递归法[......]

Read more

c++数据结构与算法之图搜索

c++数据结构与算法之图搜索,1. 介绍,本文介绍了比较初级的图搜索算法,包括深度优先遍历,广度优先遍历和双向广度优先遍历。

2. 深度优先遍历DFS

2.1 算法思想

从图中某个顶点v开始,访问此节点,然后依次从v中未被访问的邻接点出发深度优先遍历图,直到图中上所有和v有路径相通[......]

Read more

c++素数判定算法实例源码介绍

c++素数判定算法实例源码介绍。

1. 素数判定问题
素数判定问题是一个非常常见的问题,本文介绍了常用的几种判定方法。
2. 原始算法
素数的定义是,除了能被1和它本身整除而不能被其他任何数整除的数。根据素数定义 只需要用2到n-1去除n,如果都除不尽,则n是素数,否则,只要其中有一个数[......]

Read more

c++数据结构与算法之红黑树图文教程

c++数据结构与算法之红黑树图文教程。1. 简介

红黑树是一种自平衡二叉查找树。它的统计性能要好于平衡二叉树(AVL树),因此,红黑树在很多地方都有应用。在C++ STL中,很多部分(目前包括set, multiset, map, multimap)应用了红黑树的变体(SGI STL中的红黑树[......]

Read more

c++位图排序图文介绍

c++位图排序图文介绍。

一.位图排序的应用:

1.给40亿个不重复的unsigned int的整数,没有排过序,然后再给一个数,如果快速判断这个数是否在那40亿个数当中。

因为unsigned int数据的最大范围在在40亿左右,40*10^8/1024*1024*8=476,因[......]

Read more

c++判断有向图是否有环 、环的个数以及环中元素

c++判断有向图是否有环 、环的个数以及环中元素。判断有向图是否有环有三种方法:拓扑排序、深度遍历+回溯、深度遍历 + 判断后退边

这里使用 拓扑排序 和 深度遍历 + 回溯判断是不是环。使用 深度遍历 + 判断后退边找出环个数 以及环中元素

1、拓扑排序

思想:找入度为0的顶点,[......]

Read more

c++有向图中顶点的路径问题

c++有向图中顶点的路径问题。

主要解决三个问题:

前提:有向图+邻接矩阵存储

问题1、判断有向图中是否存在顶点u到v的路径

问题2、求u到v的所有简单路径

问题3、求u到v长度为k的简单路径

具体如下:

问题1:判断有向图中是否存在顶点u到v的路径[......]

Read more