我目前正在使用 Latex 撰写论文。不幸的是,两天来我一直面临输出不佳的问题,却无法解决。
为了解释这个问题,这是我的输出:
第一页:
第二页:
我们可以看到第一个问题是 1.2 节位于伪代码之前。我想要的是伪代码应该位于 1.2 节之前。
第二个问题是伪代码打印得不太好,即使我已经使用了/small 命令,但仍然存在这个问题。
即使如此讨论我已经问过了,但这并没有帮助解决这个问题。
有人能帮我解决这个问题吗?
谢谢。
我的伪代码:
\documentclass[12pt,a4paper]{article}
\usepackage{url}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{amssymb,amsmath,amsthm}
%\\usepackage{graphics}
\usepackage{graphicx}
\usepackage[linesnumbered,french]{algorithm2e}
\usepackage{hyperref}
\usepackage{cite}
\usepackage{float}
\begin{document}
\section{Graphes}
Les graphes avec un degré maximum $\leq 3$ ont des nombres de domination élevés, donc notre premier algorithme ne se comporte pas bien sur ces graphes.\\
une explication possible pour ce problème est que l'algorithme peut dans des cas chercher un MDS de taille $\gamma(G)-1$ même si un MDS de taille plus petite a été trouvé auparavant dans la phase de recherche.
Cette partie présente un algorithme plus précis pour les graphes de degré $\leq 3$.\\
L'algorithme est basé sur la technique d'élagage d'un arbre de recherche et une propriété des ensembles dominants minimum dans un graphe de degré maximum $\leq 3 $ présenté dans le lemme suivant:
\subsection{Pseudocode}
\begin{algorithm}
\small
\Entree{Un Graphe $G$ connexe, Ensemble de Sommets $X$}
\Sortie{Ensemble dominant minimum}
\caption{Algorithme pour les graphe avec un degré maximum \leq 3}
\Si{taille$(X)=0$}{\Retour\{\}}
choisir $x$ tel que $x$ est le voisin d’un sommet $y$ où $d(y) =3$\\
\Si {$x$ est vide}{
\Retour mdsFromConnectedComponent($G$)\COMMENT {//pas de sommets de degré$=3$}
}
\Si{$d(x) = 1$}{
$y$= voisin de $x$ avec $d(y)=3$\\
$z1, z2$ : les deux autres voisins de $x$\\
$D1$ = mdsForGraphAtMost3Degree $(G-N[y]) \cup y$\\
$D2$ = mdsForGraphAtMost3Degree $(G-\{N[y] + N [z_1]\}) \cup \{y, z_1\}$\\
$D3$ = mdsForGraphAtMost3Degree $(G-\{N[y] + N [z_2]\}) \cup \{y, z_2\}$\\
\Retour min($D1$, $D2$, $D3$)
}
\SinonSi {$d(x) = 2$}{
Choisir $y_1$, $y_2$ voisins de $x$ avec $d(y_1)=3$\\
\Si{voisin($y_1$, $y_2$)}{
\Si{$d(y2)=2$}{
$D1$ = mdsForGraphAtMost3Degree $(G- N[y_1]) \cup y_1$\\
Choisir $z$ tel que $z$ est le troisième voisin de $x$\\
$D2$ = mdsForGraphAtMost3Degree $(G- \{N[y_1] + N[z]\}) \cup \{y_1, z\}$\\
\Retour min($D1, D2$)
}
\SinonSi{$d(y2)=3$}{
Soit $z_1$ = troisième voisin de $y_1$\\
Soit $z_2$ = troisième voisin de $y_2$\\
$D1$ = mdsForGraphAtMost3Degree $(G-N[y_1]) \cup \{y_1\}$\\
$D2$ = mdsForGraphAtMost3Degree $(G-N[y_2]) \cup \{y_2\}$\\
$D3$ = mdsForGraphAtMost3Degree $(G-\{N[y_1]+ N[z_1]\}) \cup \{y_1, z_1\}$\\
$D4$ = mdsForGraphAtMost3Degree $(G)$\\
\Retour min ($D1$, $D2$, $D3$, $D4$)\\
}
}
\Sinon{
$D1$ = mdsForGraphAtMost3Degree $(G- N[x]) \cup \{x\}$\\
$D2$ = mdsForGraphAtMost3Degree $(G- N[y_1]) \cup \{y_1\}$ \\
$D3$ = mdsForGraphAtMost3Degree $(G- N[y_1]) \cup \{y_2\}$\\
$D4$ = mdsForGraphAtMost3Degree $(G- \{N[y_1]+ N[z_{11}]\}) \cup \{y_1, z_{11}\}$ \\
$D5$ = mdsForGraphAtMost3Degree $(G- \{N[y_1]+ N[z_{12}]\}) \cup \{y_1, z_{12}\}$ \\
$D6$ = mdsForGraphAtMost3Degree $(G- \{N[y_2]+ N[z_{21}]\}) \cup \{y_2, z_{21}\}$\\
$D7$ = mdsrorGraphAtMost3Degree $(G- \{N[y_2]+ N(z_{22})\}) \cup \{y_2, z_{22}\}$\\
\Retour min($D1$, $D2$, $D3$, $D4$, $D5$, $D6$, $D7$) \\
}
}
\end{algorithm}
\subsection{Analyse de Complexité}
De la même façon que l’algorithme vu dans la section précédente, on obtient la relation de récurrence suivante :$T(n) \approx T(n-3) + 2T (n - 4)+4T(n-6)$ et qui corresponds au cas 2.2.2, on résolvant cette occurrences, $1.8393$ est l’unique racine réelle positive du polynôme $x^6 = x^3 + 2x^2 + 4$. Le pire cas de $T(n)$ est en $0(1,51433^n)$.
\end{document}
答案1
我在以下帮助下解决了这个问题科莱格尔
这是我做的:
我用了:
[H]
调整位置。\clearpage
删除空白页\footnotesize
调整算法的大小,使其能够很好地适应一页。
这是我的输出:
第一页和第二页:
第三页:
我的乳胶文件:
\documentclass[12pt,a4paper]{article}
\usepackage{url}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{amssymb,amsmath,amsthm}
%\\usepackage{graphics}
\usepackage{graphicx}
\usepackage[linesnumbered,french]{algorithm2e}
\usepackage{hyperref}
\usepackage{cite}
\usepackage{float}
\let\cleardoublepage\clearpage
\begin{document}
\section{Graphes}
Les graphes avec un degré maximum $\leq 3$ ont des nombres de domination élevés, donc notre premier algorithme ne se comporte pas bien sur ces graphes.\\
une explication possible pour ce problème est que l'algorithme peut dans des cas chercher un MDS de taille $\gamma(G)-1$ même si un MDS de taille plus petite a été trouvé auparavant dans la phase de recherche.
Cette partie présente un algorithme plus précis pour les graphes de degré $\leq 3$.\\
L'algorithme est basé sur la technique d'élagage d'un arbre de recherche et une propriété des ensembles dominants minimum dans un graphe de degré maximum $\leq 3 $ présenté dans le lemme suivant:
\subsection{Pseudocode}
\clearpage
\begin{algorithm}[H]
\footnotesize
\Entree{Un Graphe $G$ connexe, Ensemble de Sommets $X$}
\Sortie{Ensemble dominant minimum}
\caption{Algorithme pour les graphe avec un degré maximum \leq 3}
\Si{taille$(X)=0$}{\Retour\{\}}
choisir $x$ tel que $x$ est le voisin d’un sommet $y$ où $d(y) =3$\\
\Si {$x$ est vide}{
\Retour mdsFromConnectedComponent($G$)\COMMENT {//pas de sommets de degré$=3$}
}
\Si{$d(x) = 1$}{
$y$= voisin de $x$ avec $d(y)=3$\\
$z1, z2$ : les deux autres voisins de $x$\\
$D1$ = mdsForGraphAtMost3Degree $(G-N[y]) \cup y$\\
$D2$ = mdsForGraphAtMost3Degree $(G-\{N[y] + N [z_1]\}) \cup \{y, z_1\}$\\
$D3$ = mdsForGraphAtMost3Degree $(G-\{N[y] + N [z_2]\}) \cup \{y, z_2\}$\\
\Retour min($D1$, $D2$, $D3$)
}
\SinonSi {$d(x) = 2$}{
Choisir $y_1$, $y_2$ voisins de $x$ avec $d(y_1)=3$\\
\Si{voisin($y_1$, $y_2$)}{
\Si{$d(y2)=2$}{
$D1$ = mdsForGraphAtMost3Degree $(G- N[y_1]) \cup y_1$\\
Choisir $z$ tel que $z$ est le troisième voisin de $x$\\
$D2$ = mdsForGraphAtMost3Degree $(G- \{N[y_1] + N[z]\}) \cup \{y_1, z\}$\\
\Retour min($D1, D2$)
}
\SinonSi{$d(y2)=3$}{
Soit $z_1$ = troisième voisin de $y_1$\\
Soit $z_2$ = troisième voisin de $y_2$\\
$D1$ = mdsForGraphAtMost3Degree $(G-N[y_1]) \cup \{y_1\}$\\
$D2$ = mdsForGraphAtMost3Degree $(G-N[y_2]) \cup \{y_2\}$\\
$D3$ = mdsForGraphAtMost3Degree $(G-\{N[y_1]+ N[z_1]\}) \cup \{y_1, z_1\}$\\
$D4$ = mdsForGraphAtMost3Degree $(G)$\\
\Retour min ($D1$, $D2$, $D3$, $D4$)\\
}
}
\Sinon{
$D1$ = mdsForGraphAtMost3Degree $(G- N[x]) \cup \{x\}$\\
$D2$ = mdsForGraphAtMost3Degree $(G- N[y_1]) \cup \{y_1\}$ \\
$D3$ = mdsForGraphAtMost3Degree $(G- N[y_1]) \cup \{y_2\}$\\
$D4$ = mdsForGraphAtMost3Degree $(G- \{N[y_1]+ N[z_{11}]\}) \cup \{y_1, z_{11}\}$ \\
$D5$ = mdsForGraphAtMost3Degree $(G- \{N[y_1]+ N[z_{12}]\}) \cup \{y_1, z_{12}\}$ \\
$D6$ = mdsForGraphAtMost3Degree $(G- \{N[y_2]+ N[z_{21}]\}) \cup \{y_2, z_{21}\}$\\
$D7$ = mdsrorGraphAtMost3Degree $(G- \{N[y_2]+ N(z_{22})\}) \cup \{y_2, z_{22}\}$\\
\Retour min($D1$, $D2$, $D3$, $D4$, $D5$, $D6$, $D7$) \\
}
}
\end{algorithm}
\subsection{Analyse de Complexité}
De la même façon que l’algorithme vu dans la section précédente, on obtient la relation de récurrence suivante :$T(n) \approx T(n-3) + 2T (n - 4)+4T(n-6)$ et qui corresponds au cas 2.2.2, on résolvant cette occurrences, $1.8393$ est l’unique racine réelle positive du polynôme $x^6 = x^3 + 2x^2 + 4$. Le pire cas de $T(n)$ est en $0(1,51433^n)$.
\end{document}
为了填补 1.1 部分中的空白,我将添加更多文本来填充空白。
这个解决方案非常适合我所寻找的,因为我不喜欢两页中的一种算法。